Hi,
Please read this e-mail carefully and thouroughly, as interoperability of
your package (including and especially non-KDE packages!) with upcoming KDE
Plasma Workspaces releases depends on it!
The next major release of the KDE Plasma Workspaces (i.e. "KDE 5", more
correctly referred to as "Plasma Next" or "Plasma 2") will *drop*
support
for the legacy XEmbed-based system tray protocol:
http://blog.martin-graesslin.com/blog/2014/03/system-tray-in-plasma-next/
The only supported protocol (other than the KDE-specific "plasmoid in the
system tray" feature) will be the new D-Bus based status notifier protocol:
http://www.notmart.org/misc/statusnotifieritem/index.html
See the above linked blog post for the rationale. To sum it up:
* The new D-Bus-based status notifier protocol replacing it has been
available for a while now.
* Supporting the legacy protocol requires significant effort that the
developers believe to be better spent elsewhere.
* The legacy protocol relies on XEmbed and thus does not make any sense in a
Wayland environment.
Therefore, for your package (including and especially non-KDE packages!) to
work properly under Plasma Next (which will replace the current "KDE 4"
Plasma workspace in Fedora somewhere around Fedora 22, though the exact
Fedora release to introduce it has not been decided yet), it MUST support
the new status notifier protocol in addition to or instead of the legacy
XEmbed protocol.
If your package uses: | then:
----------------------+-----------------------------------------------------
KDE 4 libraries OR | You do not have to do anything special. Your package
KDE Frameworks 5 | is already using the new protocol.
----------------------+-----------------------------------------------------
Qt 5 QSystemTrayIcon | You should not have to do anything special. Support
| for the new protocol will come in upstream Qt 4.5
| and will likely be backported in Fedora if needed.
| (This is a drop-in replacement of the Qt class
| requiring no application code changes.)
----------------------+-----------------------------------------------------
Qt 4 QSystemTrayIcon | You should not have to do anything special. A patch
| for Qt 4 to support the new protocol has been
| developed by Ubuntu developers and will likely be
| applied in the Fedora Qt 4 package soon. (As for
| Qt 5, this is a drop-in replacement of the Qt class
| requiring no application code changes.)
----------------------+-----------------------------------------------------
GTK+ (2 or 3) | You must use Canonical's libappindicator, which is
| interoperable with the KDE implementation. It is
| already packaged in Fedora. Several GTK+ packages
| already support it, for those, it is only a matter
| of adding the BuildRequires (libappindicator-devel
| for GTK+ 2, libappindicator-gtk3-devel for GTK+ 3).
| For some others, patches to add libappindicator
| support are available from Ubuntu.
----------------------+-----------------------------------------------------
any other toolkit | Please refer to the documentation of the toolkit you
| are using, ask in this thread, and/or talk to the
| relevant upstream developers.
Any package stuck on the legacy XEmbed system tray protocol will NOT work
properly under upcoming KDE Plasma releases.
Please do not shoot the messenger,
Kevin Kofler