I can has systray?
Published:
Updated:
In Plasma 5, support for the XEmbed-based “legacy” systray protocol was removed: only the new SNI protocol is handled. However, a lot of applications still do not handle the new protocol: Qt4 and Qt5 applications can be fixed by installing the sni-qt
(currently in experimental) and libdbusmenu-qt5
respectively but other applications (such as GTK ones) must be patched/recompiled with SNI support. Without this, windows disappear into oblivion 😿. You can have a seamless systray-enabled Plasma panel with a single (OK, two) line of shell 😼.
Update 2023-03-16
This problem is now fixed thanks to XEmbed SNI Proxy.
Implementation
First, resize your panel and remove some space on the right (this is where we are going to add a new panel):
Then install trayer and run:
trayer --align right --widthtype pixel --width 150 --transparent false \
--heighttype pixel --height 30 --alpha 230 --padding 10
Now, you have systrays in your panel: 😺
You might need to adjust the parameters of trayer
and resize the panel in order to have a seamless panel.
Installation
You can then add a script to do this (mine is in ~/.bin/icanhazsystray
):
#!/bin/sh
exec trayer --align right --widthtype pixel --width 150 --transparent false \
--heighttype pixel --height 30 --alpha 230 --padding 10
Now, you can ask Plasma to run this script when starting the session.
The new Plasma 5 is quite nice by the way (but the lack of classic systray is not so nice).