libappindicator does not allow removing icons from the system tray. This leads to Google Chrome leaving 100s of zombie system tray icons in KDE
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libappindicator (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
libappindicator has a bug where if the AppIndicator object is unreffed but the parent application does not exit, the system tray icon is not properly removed from the system tray. On KDE, unreffing AppIndicator moves the system tray icon to the overflow menu. On Unity, unreffing AppIndicator removes the system tray icon from the system tray but not from the list in ApplicationServ
Chrome uses libappindicator to display HTML5 notifications in Unity and KDE.
Sample page which generates HTML5 notifications: https:/
Chrome displays a "bell" icon in the system tray when there are notifications and attempts to remove it (via unreffing the AppIndicator object) whenever there are no pending notifications. Because of this bug, some Chrome users have reported Chrome leaving 100s of zombie system tray icons. Some bug reports: crbug.com/419673 https:/
On Chrome, we have (recently) worked around the libappindicator bug. However, it would be nice if the bug got fixed. If each instance of AppIndicator acquired a DBus well-known name (called g_bus_own_name() ), it seems that the bug would be fixed. Doing this would allow the StatusNotifierW
I have also attached a minimal app (app_indicator_
Status changed to 'Confirmed' because the bug affects multiple users.