Summary: | Tray icons don't react to right click | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Michael <voron1> |
Component: | System Tray | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | dr_thodt, g111, gonterman.matt, holo-doc, kde, login+kde-bugs, materka, mo78, nate, nicolas.fella, noahadvs, realnc, voron1 |
Priority: | VHI | Keywords: | regression |
Version: | 5.24.0 | ||
Target Milestone: | 1.0 | ||
Platform: | Neon | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/plasma-workspace/commit/b53fec3714c68ae6191f3c2207e7b7a06b53d9f5 | Version Fixed In: | 5.24.1 |
Sentry Crash Report: |
Description
Michael
2022-02-09 15:39:10 UTC
Notably Viber's tray icon menu works as it should. *** Bug 449879 has been marked as a duplicate of this bug. *** Skype's icon doesn't show the menu either. I have the exact same issue. Downgrading to 5.23.5 fixes it. A workaround is to install libappindicator, which is detected by discord and makes it use a different method to implement its tray icon. However, this is far from a good workaround because then there's no left click support anymore. Both right and left clicking on the tray icon will simply open the same context menu. Normally, what you want is not have libappindicator installed so that a left click on the tray icon will unminimize discord, and a right click will open the context menu, like in virtually any other application that has a tray icon. Same problem here since the upgrade from 5.23.90 to 5.24 - Discord and Gajim right click menus in the taskbar are no longer working. At the moment of the right click the following entry appears in the journal: plasmashell[818]: Could not find DBusMenu interface, falling back to calling ContextMenu() OK you can ignore my previous post about the journal entry regarding "DBusMenu interface", as it also appears when downgrading to the still working plasma-workspace 5.23.90. I browsed through the git history and reverting part of the changes in StatusNotifierItem.qml of commit ae5f355a992786834babc952c616b21929cd3a97 makes the right click menu appear again. I just readded the following at line 61 and then everything works as expected: case Qt.RightButton: openContextMenu(pos); break; *** Bug 449928 has been marked as a duplicate of this bug. *** I can't reproduce this on git master. Maybe a commit depending on KF5.91 was cherry-picked to Plasma 5.24 too soon? Which app did you test? It doesn't happen with apps using "proper" SNIs, so all KDE apps, Electron etc I can reproduce it on master with Gajim (In reply to Nicolas Fella from comment #9) > Which app did you test? It doesn't happen with apps using "proper" SNIs, so > all KDE apps, Electron etc > > I can reproduce it on master with Gajim I tested Discord since the reporter said they had a problem with it. Ok, I can reproduce this with Gajim (In reply to Nicolas Fella from comment #9) > Which app did you test? It doesn't happen with apps using "proper" SNIs What makes an SNI "proper" or "improper"? What I'm referring to is StatusNotifierItem vs xembed tray icons. Although I'm not 100% sure that's the relevant difference here (In reply to Claudio from comment #6) > I browsed through the git history and reverting part of the changes in > StatusNotifierItem.qml of commit ae5f355a992786834babc952c616b21929cd3a97 > makes the right click menu appear again. > > I just readded the following at line 61 and then everything works as > expected: > > case Qt.RightButton: > openContextMenu(pos); > break; Could you make it into a patch on top of 5.24 so I could test? I'd very much appreciate that. Okay, I did the manual partial undoind of ae5f355a99 and it fixes the issue. My findings so far: Tixati, Teams, Discord, Skype, Jdownloader. All with missing context menu. Is 5.24 still in alpha??? *** Bug 449963 has been marked as a duplicate of this bug. *** Slack and 1password are also affected (both electron) Same problem in Deadbeef player and Altus (Whatsapp client) @Michael How we can apply your patch? This weird bug literally ruins my workflow :( (In reply to Nick Stefanov from comment #20) > @Michael > How we can apply your patch? This weird bug literally ruins my workflow :( A quicker self-fix would be to install libappindicator. It seems we missed this bug because every KDE dev who tested the patch had libappindicator installed. @Noah Davis Thank you for your suggestion but unfortunately ibappindicator is not an option for me. Some of the reasons are very well described in comment 4: https://bugs.kde.org/show_bug.cgi?id=449870#c4 Heh maybe I'll remove libappindicator so I can catch future regressions in this use case. (In reply to Nick Stefanov from comment #20) > @Michael > How we can apply your patch? This weird bug literally ruins my workflow :( There is no patch. I went and partially undid this commit https://invent.kde.org/plasma/plasma-workspace/-/commit/ae5f355a992786834babc952c616b21929cd3a97 namely the changes to StatusNotifierItem.qml and then rebuilt and reinstalled. How to do all that in your distro, I frankly have no idea. Ah, thanks, let's hope it will be fixed quick. (In reply to Noah Davis from comment #21) > A quicker self-fix would be to install libappindicator. It seems we missed > this bug because every KDE dev who tested the patch had libappindicator > installed. I don't know about that. I played with libappindicator, and while it does help discord, old gtk apps (gxneur) still don't have the tray menu. I suspect it'll be the same for gajim. For a workaround just add to the following file on your system (make a backup copy before): /usr/share/plasma/plasmoids/org.kde.plasma.private.systemtray/contents/ui/items/StatusNotifierItem.qml at line 61 the following 3 lines with your texteditor of choice (nano, kate or whatever): case Qt.RightButton: openContextMenu(pos); break; Now run "plasmashell --replace" and the right click menu is working again - no need to compile anything yourself. @Claudio Thanks, I didn't realize you don't need that file for compilation. @Michael Yep, it's working! Thank you so much!!! @Claudio - You are awesome! Thank you so much! A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1455 Git commit 03f982261b7f329b42d490651efca1f115cbf097 by Nate Graham, on behalf of Claudio Holo. Committed on 14/02/2022 at 18:13. Pushed by ngraham into branch 'master'. applets/systemtray: fix SNI context menu usage without libappindicator StatusNotifierItem.qml does not explicitly handle the case of right-clicking, which causes right-clicks to be ignored unless you also happen to have the libappindicator package installed, which injects a handler for this itself. But this should work even if you don't have that package installed; this commit fixes it. FIXED-IN: 5.24.1 M +3 -0 applets/systemtray/package/contents/ui/items/StatusNotifierItem.qml https://invent.kde.org/plasma/plasma-workspace/commit/03f982261b7f329b42d490651efca1f115cbf097 Git commit b53fec3714c68ae6191f3c2207e7b7a06b53d9f5 by Nate Graham, on behalf of Claudio Holo. Committed on 14/02/2022 at 18:14. Pushed by ngraham into branch 'Plasma/5.24'. applets/systemtray: fix SNI context menu usage without libappindicator StatusNotifierItem.qml does not explicitly handle the case of right-clicking, which causes right-clicks to be ignored unless you also happen to have the libappindicator package installed, which injects a handler for this itself. But this should work even if you don't have that package installed; this commit fixes it. FIXED-IN: 5.24.1 (cherry picked from commit 03f982261b7f329b42d490651efca1f115cbf097) M +3 -0 applets/systemtray/package/contents/ui/items/StatusNotifierItem.qml https://invent.kde.org/plasma/plasma-workspace/commit/b53fec3714c68ae6191f3c2207e7b7a06b53d9f5 Thank you! |