I can has systray?

| 🤔 | 👍 | 👎 |

In Plasma 5, support for the XEmbed-based “legacy” systray protocol was removed: only the new SNI protocol is handled. However, in the real worl a lot of applications 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 😼.


First, resize your panel and remove some space on the right (this is where we're 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.


You can then add a script to do this (mine is in ~/.bin/icanhazsystray):

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).