I got mildly annoyed that duplicate wi-fi and bluetooth icons were showing up in my panel, and tracked it down to the fact that they were showing up in both systray and statusnotifier plugins. Can someone explain the differences among them (and also indicator)?

So far I've read that systray has been around forever, that statusnotifier is newer and is somehow blessed by freedesktop (?) and that indicator was written to "address design concerns Canonical was having" (here). Moreover, several things seem to have their own dedicated panel plugins, like "pulseaudio plugin" and "power manager plugin", which seem like they ought to work just fine as elements within either systray or statusnotifier. Why is such a simple aspect of the UI so fractionated? Is there any effort underway toward reunification into a single tray? Is there some semantic distinction among these that I'm missing, that explains why it makes sense to have more than one?

2 Answers 2

  • Notification area is the classical system tray for X11. It's based on the XEMBED protocol. Due to being X11-specific, it's considered obsolete by many progressive minds who think that Wayland is the future.

  • Status notifier implements the StatusNotifierHost part of the StatusNotifierItem specification. This mechanism is based on D-BUS, which is independent of the windowing system, so it's compatible with X11, Wayland etc..

  • Indicator is a plugin showing status of various messaging apps. This one is not a system tray implementation. It's a specialized type of info display & control. There is some documentation on this system on an Ubuntu Wiki page. From what I could gather there, it uses libindicate to communicate with the applications, and this library, in its turn, uses D-BUS for message passing.

Of these three, the first two seem to be alternatives, so you could use one of them. But in my experience, Notification area shows more complete set of icons from different applications. In particular, if you have some programs which use XEMBED-based tray icons, you need this plugin. See also: "Where are my systray icons?" blog post by a KDE developer (from 2014, when this mess appeared).

The Indicator plugin is needed if you want to have a single place to access messaging apps like e.g. Pidgin or Evolution. By default, in Ubuntu messengers like Pidgin don't show their real tray icons, relying on the presence of the Indicator. If you remove Indicator from the panel, be sure to enable these tray icons in the settings of each messenger you're using.

  • 4
    I'll stick with Notification area (systray) for a while because NetworkManager Applet doesn't show itself in the Status Notifier. And also it's the most up-to-date package (in 2019).
    – dmnc
    Sep 5, 2019 at 9:04
  • 1
    Earlier, I too used to face the same issue as reported by @dmnc. But it seems that in xfce4.14 (Xubuntu 20.04), this issue has been rectified and tray icons are properly shown in status notifier. Furthermore, this is able to render icons from the selected icon theme (which is not the case with notification area).
    – Ombrophile
    Jul 26, 2020 at 15:30

"Notification Area" shows some notifications which are not shown in "Status Notifier" and "Indicator", e.g. network connection. So I have to enable it.

Then, comparing the "Status Notifier" and "Indicator": at least one of my apps (Slack) shows up ONLY in Indicator. All other apps show up in both of them. So, I have to use the "Indicator plugin" for this reason.

Enabling the "Status Notifier" just duplicates most (but not all) of the notifications, so I disabled it.

It's confusing to have three of them (it's like in addition to the "windows" on your desktop you also have some "doors" and even "holes").

  • To add, (1) this is mentioned in "known issues" and (2) the plugin itself is marked as deprecated as of xfce 4.15+ Jul 13, 2021 at 3:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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