DBus statusnotifier (aka systray) daemon/bridge for GTk/XFCE environments?
René J. V. Bertin
rjvbertin at gmail.com
Mon Jan 22 11:51:14 UTC 2018
David Edmundson wrote:
> You missed reading the code that calls this in
> src/widgets/util/qsystemtrayicon_x11.cpp which will make an X system tray
> if the platform doesn't.
Indeed, but that's curious. I see what you mean, but I followed the flow in a
debugger and AFAICT the qpa_sys==NULL path was never taken (which is why I
missed it). I'll have to take another look at that.
> Please don't tell me you're using the Plasma platform integration plugin
> under XFCE?
Why wouldn't one do that? It's not plasma-specific in the sense that it doesn't
depend on anything that the plasma environment provides. In fact you get close
to the same functionality when you set the proper env. variables thanks to
qgenericunixtheme.cpp .
FWIW, I'm only using XFCE on that machine because it's so much cheaper to build
than a full Plasma environment. For the rest I want my Qt/KF5 apps to behave
like they would under Plasma5 - not unlike running KF5 applications under a
Plasma4 environment in fact.
I know that the integration plugin modifies the systray behaviour but it's not
the only one responsible for KDE apps not getting a systray under XFCE.
KNotifications also seems to have its part of responsibility, judging from the
following:
- I use xfwm4 and xfce4-panel under XQuartz on my Mac and installed dbusmenu-gtk
and the sni-plugin there too
- I maintain a fork of the plasma integration plugin for Mac (osx-integration)
- I added the SNI notifier widget to the XFCE panel
- Qt/Cocoa applications not using KNotifications still use the native Mac systray
- KDE4 and KF5 applications start using the XFCE systray as soon as I activate
it and revert to the native systray when I unload the XFCE sni plugin.
- For KF5 applications this is independent of the integration plugin, i.e. it
happens with or without that plugin.
This would happen if KNotifications tests for presence of a SNI host on the DBus
and uses native systray functionality only as a fallback. I'll be looking into
that too today.
R.
More information about the Plasma-devel
mailing list