STEPS TO REPRODUCE 1. use Wayland session 2. left/right click on systray icon of Discord OR right-click on systray icon of Ktorrent 3. OBSERVED RESULT an icon bounces continously near cursor until I minimize a window or open kickoff EXPECTED RESULT observed result should not occur SOFTWARE/OS VERSIONS Operating System: KDE neon Unstable Edition KDE Plasma Version: 5.22.80 KDE Frameworks Version: 5.84.0 Qt Version: 5.15.3 Graphics Platform: Wayland
At least in the case of Discord is because it implements org.kde.statusnotifieritem but not the xdgActivation method. It doesn't use kstatusnotifieritem but ayatana judging from the object path. The issue is that people implement our interface (for example telegram does too) to get an icon on plasma but we make changes to our interface. IN retrospect they shouldn't maybe not use org.kde but the freedesktop one but we cannot fix this. So for this issue we either need to check if the method is implemented (sounds like we would need to do some introspection) or if the call fails stop the token activation sequence (I don't think that's possible at the moment, except activating a window) For the future we need to keep this in mind and either do such checks for every addition or version the interface in some ways.
I just realized that we only support org.kde.Status* :(
Can we get the .desktop file entry from an SNI. Currently there is an entry: StartupNotify=true I think we can maybe expand this to include something wayland specific too which I think we'll want for the normal launches
Ids of SNIs on my system - "Discover-Benachrichtigungen_org.kde.DiscoverNotifier" - "KOrganizer-Erinnerungsmodul" - "Charm" - "discord1" - "TelegramDesktop" - "NeoChat"
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/961
Git commit 70a69b00c2a79ba9d877abe7cb7e80ad196bbd37 by David Redondo. Committed on 12/07/2021 at 11:24. Pushed by davidre into branch 'master'. Do not set an application id on token requests from system tray The Ids from SNIs are not the application id in the first place. Also when activating an app which does not support the new method on the inferface we never stop the startup effect. M +1 -1 applets/systemtray/statusnotifieritemjob.cpp https://invent.kde.org/plasma/plasma-workspace/commit/70a69b00c2a79ba9d877abe7cb7e80ad196bbd37