[KDE/Mac] 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:32:35 UTC 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 ... ;-)
>
> René J.V. Bertin wrote:
> 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.
>
> Thomas Lübking wrote:
> > Thiagos?
>
> By mail:
> http://lists.kde.org/?l=kde-core-devel&m=141166670217317&w=2
>
> > result of qt_mac_loadMenuNib in qapplication_mac.mm
>
> Ok, so the API doc lied to me ;-)
> Since the attributes are static, you could simply set it before creating the application in the relevant main funcs, could you?
> (Though i actually don't see it set anywhere - but it's late and i'm tired...)
Ah, apparently Thiago missed the multiple recent reminders of the fact that we OS X users are going to be "stuck" in/with KDE4 for a tad longer than the average Linux user (Debian apart, maybe? ;))
Anyway, I guess I'm going to have to look again at how exactly `GUIenabled=false` leads to the qt_menu.nib not being loaded in Qt ...
I don't think the API docs lied to you. Not loading the menu nib doesn't mean that the window system is not initialised ...
- 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-mac/attachments/20140925/fa12ba5e/attachment.html>
More information about the kde-mac
mailing list