2

Third party app icons (Discord, Steam, etc.) are not showing up in the tray portion of the top panel on Elementary OS 6 (Odin). Native icons like network, microphone, etc. work, just not third party indicators.

I believe an alternative was to use Lafydev's wingpanel-indicator-ayatana or wingpanel-indicator-namarupa but none of them are working. I added this to the indicator-application.desktop file:

OnlyShowIn=Unity;GNOME;Pantheon;

Manually started the indicator-application service, this was the output:

/usr/lib/x86_64-linux-gnu/indicator-application/indicator-application-service

(process:4600): indicator-application-service-WARNING **: 19:54:31.377: Unable to get >watcher name 'org.kde.StatusNotifierWatcher'

(process:4600): indicator-application-service-WARNING **: 19:54:31.377: Name Lost

Those wingpanel apps were supposed to fix this but for some reason they just aren't working.

2
  • The most relatable problem ever for people using elementary OS who just want to show a couple lousy panel indicators. Been dealing with this ever since elementary 0.4.1.
    – Kevin E
    Jan 11 at 22:06
  • Did you install from the .debs provided by those projects, or build from source? If the latter is the case, then probably what you did (what I did, after trying several things) was forget --prefix=/usr on your meson build command. By default it will install to /usr/local, and I think the .so file needs to be in /usr instead. I didn't really dig into the details, but this little tweak fixed the problem for me.
    – Kevin E
    Jan 11 at 22:25

1 Answer 1

0

The error message you're seeing is because two /usr/lib/x86_64-linux-gnu/indicator-application/indicator-application-services are running, and is not alone an indication of a problem.

Try this experiment to confirm:

$ pkill -ef indicator-application-service
indicator-appli killed (pid 74400)

$ /usr/lib/x86_64-linux-gnu/indicator-application/indicator-application-service &
[1] 74577

$ /usr/lib/x86_64-linux-gnu/indicator-application/indicator-application-service

(process:74555): indicator-application-service-WARNING **: 17:01:41.731: Unable to get watcher name 'org.kde.StatusNotifierWatcher'

(process:74555): indicator-application-service-WARNING **: 17:01:41.731: Name Lost

That said, I'm now using elementary OS 7 (Horus), and both wingpanel-indicator-ayatana from Lafydev's (archived) repo and wingpanel-indicator-namarupa worked for me.

One thing to be careful of is not to forget --prefix=/usr from the meson build step in the install instructions of both repos (see my comment above).

It seems that libayatana.so installed by either project needs to be under /usr, namely in a path like /usr/lib/x86_64-linux-gnu/wingpanel, depending on your architecture. Without the explicit flag to meson build, it would be installed to /usr/local instead. I'm not too interested in the detai/usr/lib/x86_64-linux-gnu/wingpanells, but it probably comes down to some library search path in wingpanel, or some other part of the system.

As I recall, as long as the indicator-application-service had already been started (via ~/.config/autostart or whichever method you chose), a reboot wasn't even required. I think the build scripts restart wingpanel for you, or wingpanel restarts itself when it notices the new .so file—either way it was a very pleasant surprise.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.