Plasma 5 has abandoned the old xembed-based system tray support. I mentioned that in my announcement post for the Plasma 5 packages for Slackware-current, and also mentioned that there are solutions for that in Plasma 5. This means that a lot of applications (meaning: all non-Plasma 5 applications) will fail to display an icon in the system tray of your new Plasma 5 Workspace. No more Skype, no more Dropbox, no more Steamclient, etcetera. The applications will be running of course, but you can not interact with them through their system tray icon.
For some applications (Qt 4 and GTK+ 2 and 3 based in particular), I already added support to my set of Plasma 5 packages, but some applications still stubbornly refuse or are still unable to display a systray icon in your Plasma 5 Workspace.
For these applications, the best solution is to run an application like wmsystemtray which implements the XEmbed protocol and thereby allows applications to dock their systray icon in the wmsystemtray application’s window.
It is a bit of a clumsy solution because wmsystemtray itself is unable to dock into the Plasma 5 system tray, and therefore you will have a permanently visible window somewhere on your desktop which displays the systray icons for applications like dropbox, blueman, scim etc. But it is better than nothing at all.
Instructions about how to work with wmsystemtray so that it looks best and impacts your workspace the least, are contained in the “README.kwin” file inside the build directory in my repository, but that file is a bit hidden. Therefore, here are the instructions:
First of course, install the wmsystemtray package from my repository.
Start the application as follows. Type it in KRunner (Alt-F2) or in an X terminal:
wmsystemtray --non-wmaker --bgcolor white
The window will appear in the upper left corner of your workspace, obscuring the Plasma 5 workspace control icon. Grab the window and drag it to the upper right corner – I think it has a better placing there. The window will probably already show some applications that had been waiting all that time to show their systray icon.
Add the following content to a new file called “wmsystemtray.kwinrule” somewhere in your fiilesystem. The filename is not important, but the “.kwinrule” extension will make it easier to find later:
[Application settings for wmsystemtray] Description=Application settings for wmsystemtray desktop=-1 desktoprule=2 noborder=true noborderrule=2 skippager=true skippagerrule=2 skipswitcher=true skipswitcherrule=2 skiptaskbar=true skiptaskbarrule=2 type=2 typerule=2 wmclass=wmsystemtray0 wmsystemtray wmclasscomplete=true wmclassmatch=1
Then, open System Settings and go to”Window Management > Window Rules“. Click on the “Import” buton and point to the “wmsystemtray.kwinrule” you just created. Click “Apply” and immediately you will see the wmsystemtray window change: the border disappears and the window placeholder in the taskbar is gone too. Its place on the desktop is immutable now.
Next time you login to Plasma 5, its session manager will run the wmsystemtray again, so there is nothing more to do than the above.
Eric
In my case I work the other way around having a few applications from KDE on XFCE.
Its strange that Dropbox icons will not show in tray since Dropbox are using QT5 for the UI engine (including the tray part).
Anyway, in Dropbox’s case I think that there will be support for the ‘new’ way of doing things sooner or later.
May I ask a question?
I’ve built mirall-1.7.1 against qt5 (and qt5keychain), everything works well except for the icon in the systemtray; in fact the icon showed is not the one shipped with the app (the little cloud) but a “generic” (the first one, in this image: http://postimg.org/image/m3rb0v4zd/).
I don’t know how to fix it, any tip?
Hi Michelino
I need to build a new version of mirall that works in Plasma 5 so I can do some tests, I have not tried this yet. It is strange that a generic icon is being used.
I remember seeing a different VLC icon than the default too, when I was running that. Can you check what icon is shown in the Plasma menu for mirall?
Hi Eric
The digital clock is not showing my localtime, probably Western European time. But the analog clock is showing correctly.
Hi Helio
What does that have to do with the XEmbed system tray?
Perhaps you wanted to post on the Plasma 5 page http://alien.slackbook.org/blog/kde-5-plasma-5-2-0-available-for-slackware-current/#comment-24505 ?
Hi Eric, thanks for the replay.
In the Plasma menu “regular” owncloud icon is shown (and the same invoking it by krunner).
I can’t find wmsystemtray.kwinrules anywhere, even when it’s running….I do a search and I find no trace of the file anywhere. There is a .kwinrulesrc file but I’m pretty sure that’s not the file you’re referring to.
Owen, it is not there until you create it.
I was quite specifiv in the article:
“Add the following content to a new file called “wmsystemtray.kwinrule” somewhere in your fiilesystem. The filename is not important, but the “.kwinrule” extension will make it easier to find later:“
Ya, I figured, so I made it…but I’m still having empty menu issues -only one works so far.
This is a great workaround.
My problem is that I instructed plasma to start with an empty session. So, I placed wmsystemtray in the autostart part of the systemsettings, but it does not start; so, I have to invoke it every time.
What is the relationship between empty menu issues and an Xembed system tray application?
I’m not sure it has anything todo with it, I swapped out Video cards thinking there may be an issue there….but no….I’m not sure why almost ALL Menu’s are blank white space — no items. So I’m sure it’s related to something else : ) Thanks for responding.
Also a blank Taskbar : (
This whole plasma 5 system tray issue sucks big time.
I understand the developers decision from a design perspective but from a user’s perspective I have to say I dont’t care. you failed!
As a user I don’t care if system notifier api is around for > 5 years and app devs had time to switch. I just want to use my f*ing applications the way I’m used to.
The system notifier should bring a “greater user experience”, well currently it’s not. For that apps the only experience is that I can’t use them the way I’m used to.
I dont’ care if an implementation works with wayland or not. until the devs ported these apps to work with system notifier I will stick with X and kde 4.
Really guys, this way we will certainly not convince users to switch to kde. Reminds me of the too early released kde4. The switch from kde 3 to 4 was already painful enough and now this? Didn’t we learn anything?
Don’t get me wrong I’m a kde user since the 1.x days and I love kde. I appreciate all the work you kde devs (and all oss devs – I’m one myself) do, but you really fucked this one up. 😉
This seems like a fairly significant regression. Is there any way to get the system tray to display some sort of default icon that indicates that an XEmbed icon could not be displayed? That would at least make it easier for users to know what is happening.
Hi, it works fine with a home-python-script (I use the egg.trayicon library, deprecated) and Plasma 5. The only thing is that I can’t move the wmsystemtray window.
wmsystemtray is a foul compromise, I wish someone would create soem kind of plasmoid or extention to bring back true syst tray icons instead of having some weird additional non moveable window on the desktop to display tray icons. Using an application made for some outdates window manager on the most advanced Linux DE is no good idea
Hi Jean Horten
I know. I am just adding a package for trayer-srg to my main repository, which does the same as wmsystemtray but looks nicer:
Hi Alien, I tryed trayer-srg but it doesn’t work, and the KDE system tray icons is becoming a problem for a lot of people. Really a bad strategic choice, to remove the support and don’t implement a compatibility layer.
Ciao Frank
Excellent good, but as I do so that you can move from place without title bar, you can place it anywhere on your desktop
xembed-sni-proxy implements a compatibility layer that allows xembed tray icons to be shown directly in the plasma notification area. It is not perfect (e.g. tooltips do not work) but usable and much more convenient that a window in the corner.
Yes, we discussed xembed-sni-proxy in the comments section of another article a few days ago: http://alien.slackbook.org/blog/second-plasma-5-update-for-september/
I will add a package for this in my next update.