gnome-shell-extension-appindicator
gnome-shell-extension-appindicator copied to clipboard
3 dots instead of icon in gnome shell 3.36
After upgrading to Fedora 32, all legacy tray icons show 3 dots instead of the real icon.
In this case, the 3 dots should represent the nextcloud icon:

The same is the case for other legacy tray icons. In my case those are e.g. steam and electron mail.
The used version is gnome-shell-extension-appindicator.noarch 33-1.fc32
I'm having the same issue with Chrome/Hangouts indicators after upgrading to Ubuntu 20.04 from 18.04. Interestingly, after I restart the shell, the three dots and the chrome/hangouts appindicators disappear from the top bar entirely. One time the chrome/hangouts icons actually did appear in the top bar but disappeared after the next restart. There appears to be some sort of race condition in the process that converts legacy icons?
It looks like the same problem I have. #229 Do you also get the same error messages in journalctl when starting the application?
The same with me, upgrade from pop_os 19.10 to 20.04 and got that.
Same here, though the pop-up menu works. On my side, Enpass tray icon works normal, but Teams or Remmina ones appear as three dots. Note that I am not using any tray icon Gnome extension.
This should be fixed by gnome-shell 3.36.2, can you confirm?
Not for me. I still get these errors when starting ElectronMail and the icon is not shown correctly:
Mai 19 10:19:59 zodd-pc gnome-shell[1176]: JS ERROR: Exception in callback for signal: property-changed: GdkPixbuf.PixbufError: Unrecognized image file format
_updateImage@/home/zodd/.local/share/gnome-shell/extensions/[email protected]/dbusMenu.js:618:49
_onPropertyChanged@/home/zodd/.local/share/gnome-shell/extensions/[email protected]/dbusMenu.js:554:42
_emit@resource:///org/gnome/gjs/modules/core/_signals.js:133:47
property_set@/home/zodd/.local/share/gnome-shell/extensions/[email protected]/dbusMenu.js:125:14
_endRequestProperties/<@/home/zodd/.local/share/gnome-shell/extensions/[email protected]/dbusMenu.js:271:33
_endRequestProperties@/home/zodd/.local/share/gnome-shell/extensions/[email protected]/dbusMenu.js:266:19
asyncCallback@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:132:13
I get the same issue reported by @emichael. I am using Arch Linux where gnome-shell is version 1:3.36.2+7+ge4199c71c-1.
I'm also having problems with the icons for legacy applications. In my case it was (yes, was - I found a solution) the owncloud icon. The reason for that is not clear to me as I don't know much about the icon theme handling in linux.
My findings: icon_theme.lookup_icon_for_scale returns null for the icon returned from the application (owncloud tries to use state-ok). That is shown in the system logs as [email protected][76875]: ownCloud, Impossible to lookup icon for 'state-ok'
. First I thought it would be enough to refactor the panel specification:
// indicator-application looks up a special "panel" variant, we just replicate that here
// try to look up the icon in the icon theme
iconInfo = icon_theme.lookup_icon_for_scale(name + "-panel", size, scale,
Gtk.IconLookupFlags.GENERIC_FALLBACK);
// no panel icon - lets try the "non-panel" variant
if (iconInfo === null) {
iconInfo = icon_theme.lookup_icon_for_scale(name, size, scale,
Gtk.IconLookupFlags.GENERIC_FALLBACK);
}
But that didn't work either. I don't know if it makes sense to look for the original name when the <icon>-panel does not exist.
But I found out that it is working when we just return the name as path - maybe it is then be used as relative path.
On Ubuntu 20.04, Gnome 3.36.2. Am seeing this issue with the Nextcloud desktop client (a Qt application). Mattermost (an Electron app), works fine.
The disappearing icons after renewed login that @emichael mentions seem to be a consequence of #228.
For ElectronMail the latest updated solved my issue with its tray icon. https://github.com/vladimiry/ElectronMail/releases/tag/v4.6.0
I get the impression we're looking at multiple issues here that all result in the "three-dot icon". My error message is different from the two above and seems to be the consequence of a slow starting Nextcloud client - see my write-up here. I'm not yet sure though whether it's better to fix the issue here or over there.
Keepassxc, which also uses Qt, shows three dots as well.
For a different problem they concluded it was a Qt problem. The three dot problem has not been assessed, but Qt may be the culprit in all these cases?
For a different problem they concluded it was a Qt problem. The three dot problem has not been assessed, but Qt may be the culprit in all these cases?
Well, the thing is, the "three-dot problem" is really only a symptom that can potentially have plenty of very different causes (kind of like a runny nose, really :sneezing_face: :mask: :sweat_smile: )
If you look at the IconActor class in appIndicator.js, you see the following code:
https://github.com/ubuntu/gnome-shell-extension-appindicator/blob/32f2f34ae382a4af850471a131cf9b5e42231ac5/appIndicator.js#L288-L296
Here you see that appindicator sets a default fallback icon (which on my system is located at /usr/share/icons/Adwaita/scalable/status/image-loading-symbolic.svg) - the infamous "three dots". Basically, appindicator initially sets all tray icons to the fallback icon, before changing them to whatever the application wants. This only happens when the ready signal is received in line 321. In short, if there is any error between the first initialisation and the actual setting of the application's systray icon, the symptom is going to be the "three dots".
(If you reread the above thread, you will notice that we do in fact have at least three different error messages we're talking about - one missing icon, one bad file format, and one null pointer exception. Also note that Electron-based apps are having issues too, not only Qt.)
I'm seeing it too on ubuntu 20.04.... Sorry can't be more useful just switched to Linux still getting used to everything :) Pressing ALT + f2 and r and enter makes it disappear. (I'm thinking this is the equivalent of killing and restarting explorer on windows or finder on mac ? )
I have the exact same problem with teamviewer,

gnome-shell[973]: JS ERROR: Exception in callback for signal: ready: TypeError: this._indicator.id is null
_updateIconClass@/usr/share/gnome-shell/extensions/[email protected]/appIndicator.js:386:34
_init/<@/usr/share/gnome-shell/extensions/[email protected]/appIndicator.js:364:18
_emit@resource:///org/gnome/gjs/modules/core/_signals.js:133:47
_checkIfReady@/usr/share/gnome-shell/extensions/[email protected]/appIndicator.js:118:18
AppIndicators_AppIndicator/<@/usr/share/gnome-shell/extensions/[email protected]/appIndicator.js:81:26
Have this problem with Steam
Have this problem with Steam
That's interesting, because steam displays for me fine.
I found what was the cause for me it was a chrome extension. In google chrome it shows the google tray icon but when using chromium it shows that.
It doesn't matter if I reload or relogin, it's always 3 dots for teamviewer and others show up fine
I see the same: teamviewers indicator has no id. I added a warning message for that:
Okt 19 09:00:22 miracle [email protected][2679]: Indicator has no id: {"busName":":1.380","_uniqueId":":1.380/StatusNotifierItem","_accumuledSignals":{},"_cancellable":{},"_proxy":{"Category":null,"Id":null,"Title":null,"Status":null,"WindowId":null,"IconThemePath":null,"Menu":null,"ItemIsMenu":null,"IconName":null,"IconPixmap":null,"OverlayIconName":null,"OverlayIconPixmap":null,"AttentionIconName":null,"AttentionIconPixmap":null,"AttentionMovieName":null},"_signalConnections":[{"id":1,"name":"destroy","disconnected":false},{"id":2,"name":"destroy","disconnected":false},{"id":3,"name":"destroy","disconnected":false},{"id":4,"name":"icon","disconnected":false},{"id":5,"name":"destroy","disconnected":false},{"id":6,"name":"overlay-icon","disconnected":false},{"id":7,"name":"destroy","disconnected":false},{"id":8,"name":"reset","disconnected":false},{"id":9,"name":"destroy","disconnected":false},{"id":10,"name":"ready","disconnected":false},{"id":11,"name":"destroy","disconnected":false},{"id":12,"name":"ready","disconnected":false},{"id":13,"name":"destroy","disconnected":false},{"id":14,"name":"menu","disconnected":false},{"id":15,"name":"destroy","disconnected":false},{"id":16,"name":"label","disconnected":false},{"id":17,"name":"destroy","disconnected":false},{"id":18,"name":"status","disconnected":false},{"id":19,"name":"destroy","disconnected":false},{"id":20,"name":"reset","disconnected":false},{"id":21,"name":"destroy","disconnected":false},{"id":22,"name":"destroy","disconnected":false}],"_nextConnectionId":23,"isReady":true,"_proxyPropertyList":[]}
I've had two sets of three dots show up on mine. One of them (the one on the left) will start Google Hangouts if clicked. The other does nothing. Can confirm the issue disappears with the Alt-F2 r fix.
I have the exact same problem with teamviewer,
Same here. Only with teamviewer.
TeamViewer[218052]: QDBusMarshaller::appendVariantInternal: Found unknown D-BUS type ''
gnome-shell[961]: JS ERROR: Exception in callback for signal: ready: TypeError: this._indicator.id is null
Arch, gnome shell 3.38.1, extension 3.38
On my desktop on the other hand, same installation as the first, during first boot teamviewer starts with 2 icons, the dots and teamviewer's.
When restarting gnome-shel or teamviewer service only the dots appear after that
Funny...
Have this problem with KeyPassXC, Google Hangouts from Chromium extension and one more app.
Ubuntu 20.04.1 LTS
GNOME 3.36.3

A system update today has completely killed the appindicator icons. None of them now show. Ubuntu now v20.04.1 Gnome 3.36.8
I can report the same problem as @rogercreagh. In my case, Slack still shows up fine. The Nextcloud client won't appear at all, even after restarting the shell. Looks like the upgrade gnome-shell-extension-appindicator:amd64 (33-1, 33.1-0ubuntu0.20.04.1) was installed yesterday and might be the culprit.
EDIT: Can confirm, downgrading back to 33-1 fixed the issue.
It seems that it might be a timing issue as if I disable the apps run on startup and start them manually once everything has settled down then they appear ok.
PS @emichael how do I downgrade the appindicator?
@rogercreagh apt install gnome-shell-extension-appindicator=33-1 then apt-mark hold gnome-shell-extension-appindicator to prevent it from upgrading again next time you run apt upgrade.
Fabulous, thanks @emichael , that has worked a treat, keypassxc, nextcloud and copyq all now starting on boot and their icons showing again. Hopefully this is a big that'll get fixed in the next release - does it need a new bug report since this one was originally about the 3 dots appearing which seemed to be cleared by a subsequent update (I had the 3 dots problem with nextcloud on on Ubuntu 20.04 machine but not on an ostensibly identical other one - it then cleared itself after about a month.
Hi, I also experince the same problem. I am using libappindicator C api for my application and it gives this error:
Apr 24 22:52:47 ubuntu-dev [email protected][1185]: com.github.whatsapp-for-linux.tray, Impossible to lookup icon for 'whatsapp-for-linux-tray-active-panel' in default theme Apr 24 22:52:48 ubuntu-dev [email protected][1185]: unable to update icon for com.github.whatsapp-for-linux.tray Apr 24 22:52:48 ubuntu-dev [email protected][1185]: com.github.whatsapp-for-linux.tray, Impossible to lookup icon for 'whatsapp-for-linux-tray-active-panel' in default theme Apr 24 22:52:48 ubuntu-dev [email protected][1185]: unable to update icon for com.github.whatsapp-for-linux.tray
Event though I am adding custom icons to the default theme as 'whatsapp-for-linux-tray-active and 'whatsapp-for-linux-tray-attention and setting the appindicator's icon to those. However, I don't get why the extension is trying to append a -panel at the end while searching.