Review Request 120363: proposal to use the NOGUI switch in CMake files to set the default value for GUIenabled
René J.V. Bertin
rjvbertin at gmail.com
Thu Sep 25 22:50:26 BST 2014
> On Sept. 25, 2014, 8:07 p.m., Thomas Lübking wrote:
> > Aside Thiagos concern, what actually causes the menubar/docker item stuff?
> >
> > Quoting QApplication (4.8):
> > > On X11, the window system is initialized if GUIenabled is true. If GUIenabled is false, the application does not connect to the X server. On Windows and Mac OS, currently the window system is always initialized, regardless of the value of GUIenabled. This may change in future versions of Qt.
> >
> > So it's perhaps rather a statement in KApplicationPrivate::init() which causes this?
> > There aren't too many depending on GUIEnabled ... ;-)
Thiagos?
The menubar/Dock "item stuff" is the result of `qt_mac_loadMenuNib` in `qapplication_mac.mm`, which is called when `!QApplication::testAttribute(Qt::AA_MacPluginApplication)`. Setting `GUIenabled=false` has that effect, ultimately.
- René J.V.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/120363/#review67442
-----------------------------------------------------------
On Sept. 25, 2014, 3:32 p.m., René J.V. Bertin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/120363/
> -----------------------------------------------------------
>
> (Updated Sept. 25, 2014, 3:32 p.m.)
>
>
> Review request for KDE Software on Mac OS X and kdelibs.
>
>
> Repository: kdelibs
>
>
> Description
> -------
>
> Applications can be defined in their CMake file as being `NOGUI`, but until now this has had very limited effect. Especially on OS X, those applications can still construct a minimal GUI and thus have "visual presence" in the Dock and application switcher (and have a menubar as well).
>
> This patch proposes to define a preprocessor token, `KDE_WITHOUT_GUI`, for those targets, and uses that token to set the default value for the `GUIenabled` option of the `KApplication` and `KUniqueApplication` classes.
>
> This could potentially be combined on OS X with the CoreFoundation call that turns a running application into an "agent" (see https://git.reviewboard.kde.org/r/120354).
>
>
> Diffs
> -----
>
> cmake/modules/KDE4Macros.cmake 073d726
> kdeui/kernel/kapplication.h fa2ab26
> kdeui/kernel/kapplication.cpp b093034
> kdeui/kernel/kuniqueapplication.h e05dcd7
>
> Diff: https://git.reviewboard.kde.org/r/120363/diff/
>
>
> Testing
> -------
>
> On OS X 10.6.8 with kdelibs 4.14.1 (git/kde4.14), rebuilt kdelibs, kde-workspace, kde-runtime, kde-baseapps, kdepim-runtime and nepomuk-core.
> If the documentation I read is correct, the `GUIenabled` switch has no effect on Linux, so this patch shouldn't have any either on that OS.
>
>
> Thanks,
>
> René J.V. Bertin
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20140925/5689c9ad/attachment.htm>
More information about the kde-core-devel
mailing list