> On April 6, 2016, 7:26 p.m., Aleix Pol Gonzalez wrote:
> > src/klauncher/klauncher.h, line 279
> > <https://git.reviewboard.kde.org/r/126520/diff/2/?file=455690#file455690line279>
> >
> >     You shoudln't/can't have Q* classes outside of Qt.
> >     
> >     Also does this really need to be in klauncher.h? It's not even being 
> > exported.

Really - watch me! :)

Seriously, what would be a better name - KTimeoutProcess?

I suppose I put it in the header in order to be sure that moc would process the 
class, but I guess that's not required (if it ever was).

I've also been considering to move this into kinit_mac.mm (= kdeinit5 for OS X) 
but I am not really sure where that would have to go.

FWIW, at about the time I created this RR, David and I started discussing the 
idea of a class (or QProcess modification) for doing "GUI/Desktop launches" on 
platforms where there's a difference between those and POSIX style fork+exec. 
I'll have to refresh my memory, but IIRC we didn't really come to a concensus, 
and there was definitely no warm welcome for the idea from upstream Qt.
I haven't written off the idea, though, and am still open to working on this, 
either as something specific to kdeinit5 or why not as an extension to KProcess.


- René J.V.


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/126520/#review94339
-----------------------------------------------------------


On April 6, 2016, 7:18 p.m., René J.V. Bertin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/126520/
> -----------------------------------------------------------
> 
> (Updated April 6, 2016, 7:18 p.m.)
> 
> 
> Review request for KDE Software on Mac OS X and KDE Frameworks.
> 
> 
> Repository: kinit
> 
> 
> Description
> -------
> 
> OS X has an annoying habit that almost seems deliberate to turn users away 
> from applications doing things the Posix way. Launching an executable via 
> `system()` or one of the `exec()` functions causes it to open in the layer 
> behind the calling process. That means the launched application can remain 
> undetected, all the more if it wasn't started because of an explicit user 
> action. Example: the kwalletmanager5 kcm would open behind the kwalletmanager 
> itself, leaving the user to wonder why the menu action didn't work.
> 
> I spent a lot of time working on a workaround, getting the system to force 
> the newly started application to the front without having access to the 
> AppKit SDK that would allow to do that from the application itself.
> Finally I realised, almost by accident, that I was looking at a side effect 
> of turning `kded5` into an "agent" (GUI application without presence in Dock, 
> AppSwitcher and menubar) via `QT_MAC_DISABLE_FOREGROUND_APPLICATION_TRANSFORM 
> `. That env. variable is evidently inherited by `kdeinit5` when started 
> through kded5, and from there by all processes launched by kdeinit.
> 
> I have of course resolved the issue at the root, but am submitting the 
> workaround I came up with as a showcase snippet (i.e. not as something I 
> think useful to incorporate "as is"). It shows how to get AppleScript to do 
> something it isn't really designed to do: use the "System Events" library to 
> check for a running process, and then tell it to activate (come to the 
> foreground). The AppleScript is still a bit rough, and only has a single end 
> condition (telling the app to activate). I'm using a subclassed `QProcess` 
> class to run this script with a timeout.
> 
> 
> Diffs
> -----
> 
>   src/klauncher/klauncher.h 53c0803 
>   src/klauncher/klauncher.cpp baa5649 
> 
> Diff: https://git.reviewboard.kde.org/r/126520/diff/
> 
> 
> Testing
> -------
> 
> On OS X 10.9.5 with KF5rameworks 5.17.0
> 
> 
> Thanks,
> 
> René J.V. Bertin
> 
>

_______________________________________________
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel

Reply via email to