Bug 366283 - Non KDE plasma system tray icons are missing
Summary: Non KDE plasma system tray icons are missing
Alias: None
Product: plasmashell
Classification: Plasma
Component: System Tray (show other bugs)
Version: 5.7.2
Platform: Arch Linux Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
: 368239 (view as bug list)
Depends on:
Reported: 2016-07-30 19:17 UTC by Reshad Patuck
Modified: 2016-09-09 14:29 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Note You need to log in before you can comment on or make changes to this bug.
Description Reshad Patuck 2016-07-30 19:17:10 UTC
When I log in to my desktop session I sometimes (1 in 3) I do not get system tray icons for non KDE plasma applications (akregator, kmail, slack, keepassx) which are running.

I can kill and restart the applications but they do not get added to the tray.

If I restart plasmashell (kill and run from terminal) I get all the icons in the shell.

Reproducible: Sometimes

Steps to Reproduce:
1. Log out of session (if working)
2. Log back into session (may not work)
Comment 1 Marco Martin 2016-08-16 12:02:38 UTC
xembed to sni proxy problem?
Comment 2 David Edmundson 2016-08-27 22:54:45 UTC
No. akregator and kmail use KStatusNotifierItem even if they're KDE4 versions.
Comment 3 David Edmundson 2016-08-27 23:51:59 UTC
Are you able to test a patch?
If so can you try: https://phabricator.kde.org/D2613

I'm not sure if it'll fix your case; as obviously we don't have a lot of debug info to go on.
Comment 4 Janos Zsitvai 2016-09-01 17:47:50 UTC
I haven't experienced the problem since applying the patch on the 28th. This is with version 5.7.4.
Comment 5 David Edmundson 2016-09-09 11:48:41 UTC
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

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
Related: bug 367756

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

Comment 6 David Edmundson 2016-09-09 14:29:30 UTC
*** Bug 368239 has been marked as a duplicate of this bug. ***