Main menu:

Sponsoring

Please consider a small donation:

 

 

Or you can donate bitcoin:

 

Thanks to TekLinks in Birmingham, AL, for providing colocation and bandwidth.

Page Rank

Fame

FOSS Force Best Blog--2013 Award

Recent posts

Recent comments

About this blog

I am Eric Hameleers, and this is where I think out loud.
More about me.

Search

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 211 other subscribers

My Favourites

Slackware

Calendar

June 2016
M T W T F S S
« May    
 12345
6789101112
13141516171819
20212223242526
27282930  

RSS Alien's Slackware packages

RSS Alien's unofficial KDE Slackware packages

RSS Alien's multilib packages

RSS Slackware64-current

Meta

Support for old-school XEmbed system tray icons in Plasma 5

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.

wmsystemtray

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

Comments

Pingback from Links 31/1/2015: Open Lunchbox, Librem 15 at Around $400,000 | Techrights
Posted: February 1, 2015 at 02:27

[…] Support for old-school XEmbed system tray icons in Plasma 5 […]

Comment from Amit Ugol
Posted: February 1, 2015 at 07:40

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.

Comment from Michelino
Posted: February 2, 2015 at 01:07

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?

Comment from alienbob
Posted: February 2, 2015 at 10:56

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?

Comment from Helio
Posted: February 2, 2015 at 13:13

Hi Eric
The digital clock is not showing my localtime, probably Western European time. But the analog clock is showing correctly.

Comment from alienbob
Posted: February 2, 2015 at 14:31

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 ?

Comment from Michelino
Posted: February 2, 2015 at 17:51

Hi Eric, thanks for the replay.

In the Plasma menu “regular” owncloud icon is shown (and the same invoking it by krunner).

Comment from Owen Greaves
Posted: February 7, 2015 at 22:24

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.

Comment from alienbob
Posted: February 8, 2015 at 15:10

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:

Comment from Owen Greaves
Posted: February 8, 2015 at 20:13

Ya, I figured, so I made it…but I’m still having empty menu issues -only one works so far.

Comment from Eduardo
Posted: February 8, 2015 at 16:51

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.

Comment from alienbob
Posted: February 8, 2015 at 20:58

What is the relationship between empty menu issues and an Xembed system tray application?

Comment from Owen Greaves
Posted: February 8, 2015 at 21:37

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.

Comment from Owen Greaves
Posted: February 8, 2015 at 21:54

Also a blank Taskbar : (

Comment from amigaforever
Posted: April 29, 2015 at 10:43

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

Comment from RoberRObert Marmorsteinicon t Marmorstein
Posted: April 29, 2015 at 15:02

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.

Comment from gaara
Posted: April 29, 2015 at 16:56

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.

Comment from Jean Horten
Posted: May 9, 2015 at 11:43

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

Comment from alienbob
Posted: May 10, 2015 at 14:56

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:

Trayer-srg screenshot

Comment from Frank
Posted: September 7, 2015 at 11:52

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

Comment from waco
Posted: September 15, 2015 at 17:57

Excellent good, but as I do so that you can move from place without title bar, you can place it anywhere on your desktop

Comment from regnarg
Posted: October 4, 2015 at 20:50

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.

Comment from alienbob
Posted: October 5, 2015 at 11:20

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.

Pingback from Mise en place de davmail | Simon Dujancourt
Posted: October 27, 2015 at 21:26

[…] Après avoir enregistrer, la fenêtre disparaît mais le programme ne se stoppe pas pour autant. A noter que si vous utilisez KDE Plasma 5, il faut installer un logiciel supplémentaire (wmsystemtray) pour voir l’icône, voir : http://alien.slackbook.org/blog/support-for-old-school-xembed-system-tray-icons-in-plasma-5/. […]

Write a comment