Sometimes, additional system tray icons (such as Quassel's) will not appear in tray after a system restart. By "additional", I mean icons that are not part of the base KDE system, but rather icons part of third-party applications. Example applications affected by this include Quassel, Clementine, Telegram Desktop and probably more. There is a workaround: entering "killall plasmashell; plasmashell & disown; exit" in terminal will restart Plasma and cause the missing system tray icons to finally display in the tray. Reproducible: Sometimes Steps to Reproduce: 1. Open an application like Quassel 2. Save your session (so that the application restarts automatically when booting) then restart (or shutdown then start) your PC and log in as usual 3. Sometimes, the Quassel icon (or any third-party application icon) will be missing from the system tray. I'm using Antergos which is based on Arch Linux.
I can confirm this issue on Ubuntu/Kubuntu 16.10, Plasma 5.7.3 for Qt5/Qt4 apps.
I can confirm this bug for Qt4/Qt5 apps on Gentoo, Plasma 5.7.4. It's really reproducable sometimes. Can appear after Log Out and Login (without saving session), or some time after Log Out or after reboot only. Can be fixed by removing System Tray widget from panel and adding it back.
Are you able to apply patches, if so can you see if this fixes it: https://phabricator.kde.org/D2613
Patched my Plasma-workspace 5.7.4 and looks like the problem is gone. At least, I don't see it anymore after a couple of reboots.
I've created patched plasma-workspace package. No issues so far. All Yakkety users can test this too: sudo add-apt-ppa ppa:blaze/test sudo apt update sudo apt install plasma-workspace
Git commit df4387a21f6eb5ede255ea148143122ae4d5ae9c by David Edmundson. Committed on 09/09/2016 at 11:46. Pushed by davidedmundson into branch 'Plasma/5.7'. Fix some status notifier items not appearing Summary: Set the initial values for all the things This is important as Plasma::DataModel has an unsolvable bug When it gets data with a new key it tries to update the QAIM roleNames >From QML this achieves absolutely nothing as there is no signal to tell QQmlDelegateModel to reload the roleNames in QQmlAdapatorModel No matter if the row changes or the model refreshes This means it does not re-evaluate what bindings exist (watchedRoleIds) and we get properties that don't bind for this or any future SNI. The main source of this problem is syncStatus can occur before refreshCallback; but whilst that's easy to guard against, there's still multiple if{} blocks that don't set various keys in refreshCallback() which would all need changing too. This seemed cleaner and easier to manage. Related: bug 366283 Reviewers: #plasma, mart Reviewed By: mart Subscribers: broulik, plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D2613 M +29 -0 dataengines/statusnotifieritem/statusnotifieritemsource.cpp http://commits.kde.org/plasma-workspace/df4387a21f6eb5ede255ea148143122ae4d5ae9c