ikalnytskyi / gnome-shell-extension-icon-hider

Icon Hider is a gnome-shell extension for managing status area items.
Other
31 stars 11 forks source link

Obsolete ID strings are kept indefinitely #29

Open nbriche opened 6 years ago

nbriche commented 6 years ago

Icons coming from the Ayatana layer seem to include a PID(?) in their ID string, like Software Update ('appindicator-:1.91/org/ayatana/NotificationItem/software_update_available'), Remmina (' appindicator-:1.211/org/ayatana/NotificationItem/remmina_icon', or the Remote Desktops ('appindicator-:1.92/org/ayatana/NotificationItem/vino_app_indicator').

Since those icons can change IDs (i.e. at reboots) but the old names are not removed, the icon list grows up indefinitely.

The conf values "hidden" and "known" should be checked for obsolete values, and nonexistant icons should be deleted.

AdamKane41 commented 6 years ago

Also, related to this, once the list becomes too long, it goes beyond the screen edge and it's impossible to see and toggle some entries. This happens both on the "normal" window and the icon drop down list... Should add a scroll bar. screenshot from 2018-03-18 21-33-06

mossad-zika commented 6 years ago

plz fix! cant use ((

Skillzore commented 5 years ago

Do we have any progress on this? The extension is very useful, but gets crippled when used with applications that jump PIDs, like Slack and even the software update available notification icon in linux. The quick fix is adding a scrollbar (asap), and then taking the time to deal with the duplicate problem...

Skillzore commented 5 years ago

@theychx tagged you since you seem to be doing somewhat active things here

Some research has gotten me to the point where I can use: gdbus call --session --dest org.freedesktop.DBus --object-path / --method org.freedesktop.DBus.GetConnectionUnixProcessID :1.78 to find the pid of an appindicator in the list, this pid can the be translated to an app with: ps -p {pid} -o comm= if this name does not match the name in the app indicator list (on the row with appindicator-:1.78), we should not add it to the list. Or if there is no PID at all we should still not add it to the list of course.

I'm a java backend developer so I am slowly trying to pry this open in my spare time, if someone with more gnome/javascript skills could implement this, it would be awesome.

We should also add a scroll bar for those who have many icons, found this page which uses new St.ScrollView to implement it. Seeing as this project already has St imported, it shouldn't be too difficult, but again, my lack of gnome/javascript knowledge is crippling me. I have no idea where to put it.

If no one else can take on this, I will slowly try to solve this. But no promises.

neogeo71 commented 4 years ago

https://askubuntu.com/questions/1069761/gnome-3-extension-icon-hider-setting-location

The exact path with dconf or gsettings is org/gnome/shell/extensions/icon-hider.

use dconf or gsettings from command-line or the dconf Editor GUI application to tweak these schemas to apply various effects/functionalities provided by the extension

There are 3 keys there, uninstall icon hider, then delete these 3 keys and reinstall. It will clean up the list.