blue-systems / plasma-5.5

Plasma 5.2 - 5.5
0 stars 0 forks source link

[systray]: left-click on some icons has no effect #118

Closed star-buck closed 8 years ago

star-buck commented 9 years ago

there are several (mostly non-kde) icons in systray, that don't react on a left-click. Examples: gmusicbrowser, pidgin, radiotray. Normally left-clicking would reveal/hide the actual programs or bring up a menu, but currently does nothing.

davidedmundson commented 8 years ago

Upstream report:

https://bugs.kde.org/show_bug.cgi?id=350944

I'm on it, I'm 90% sure it's in the GTK appindicator lib, but I'll try and fix it myself anyway.

davidedmundson commented 8 years ago

Radiotray has explicit code to detect when it's using the KDE/Ubuntu system tray system and then behave differently for whatever reason. Normally there are two menus, one on right, one on left. They've gone out of their way to combine them into only right click here. Not sure why.

As for pidgin and gmusicbrowser; on the CI they're not appearing in the tray at all...I need to poke the packagers about that first.

davidedmundson commented 8 years ago

might have an explanation to why radiotray and pidgin's appindicator plugin behave like this:

If I understand the documentation correctly, the middle-click issue happens with all libappindicator applications because gnome forces the indicator to open a menu on leftclick.

Some bloke off Reddit. Seems plausible. Unity seems to have a menu on left click at least showing actions; so app developers are working round it, which ends up affecting us.

star-buck commented 8 years ago

we then need to do our own workaround...at least establishing back the functionality as of kde4.

davidedmundson commented 8 years ago

I've made my workaround; xembedsniproxy

It solves a slightly bigger issue, trying to also deal with apps that don't have libappindicator where we currently have nothing.

We still have the issue that some apps using libappindicator are done so poorly; for Pidign and gmusicbrowser we can just not use the plugin and use my thing, for radiotray we can't.

I have seen a fork of appindicator that addresses the other problems, and when I tried it it seems to work quite well. https://aur.archlinux.org/cgit/aur.git/tree/0001-Add-support-for-Activate-method-for-improved-Plasma-.patch?h=libappindicator-activate worth applying in Netrunner at least.

I think that's pretty much all I can do for this bug.