Review Request 120354: [OS X] turn kglobalaccel into an "agent", removing it from Dock and application switcher

René J.V. Bertin rjvbertin at
Thu Sep 25 17:14:24 BST 2014

This is an automatically generated e-mail. To reply, visit:

(Updated Sept. 25, 2014, 6:14 p.m.)

Review request for KDE Software on Mac OS X, KDE Runtime, kdelibs, and Qt KDE.

Repository: kde-runtime


See for more detailed discussion.

KDE helper applications that need to be able to present widgets or otherwise "talk with the GUI layer" require special attention on OS X, if one doesn't want them to appear in the Dock or task switcher nor present a bare-bones menubar when made active.

Applications that live in an app bundle can set LSUIElement="1" in their Info.plist to signal the window server that they're "agents" (and thus don't want the aforementioned visual presence). This feature is already in use (see Info.plis.template for apps like kded4 and kdeinit4, and the corresponding code in their respective CMake files).

kglobalaccel is a different case as it's built as a standard *n*x app (`/opt/local/bin/kglobalaccel` in a standard MacPorts install) and thus has no Info.plist. It is however possible to set the corresponding bit via CoreFoundation, and that's what this patch does.

Suggestion: a member function I'd tentatively call `appIsService` would be welcome, but one could also make this the default behaviour when starting a `GUIenabled=false` application on OS X.
That's actually the main reason for submitting this RR: see if we can come to a consensus if and how to use this new knowledge.

Diffs (updated)

  kglobalaccel/main.cpp 4d230b8 



On OS X 10.6.8 with kdelibs 4.14.1 (git/kde4.14).


René J.V. Bertin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the kde-core-devel mailing list