Application Status Notifier Design
Or: How GNOME learned to stop worrying and love the System Tray
A reality is that status "tray" is something that remains with us, especially with cross-platform Electron apps being built with status notifier items and use that item to both: keep running in the background and expose controls and information to users.
Common problems with applications that do not fully integrate with the desktop or make use of patterns that rely on a status applet for functionality:
- VPN applications that do not integrate through Settings may be entirely controlled through the status notifier icon
- cloud service/storage applications, e.g. Dropbox, live entirely in their status notifier icon
- third-party applications, like Steam and some Password managers, have many application control items and other functionality only in the status notifier item--especially the ability to quit the app
A New Spec
A new and simplified spec for application status icons is being drafted which gives more flexibility over how and when applications can provide status icons, which is an opportunity to think about an implementation for status icons in GNOME.
Design Goals
- have the UI for whatever status icon implementation we end up having be a minimally intrusive as to not give over excessive real estate to applications that insist on having status indicators--it is still a bad UI paradigm after all, regardless of the concessions here.
- we still want to avoid "free brand advertising" of an app icon sitting out in the open constantly
- we still don't want applications needless grabbing your attention with blinking or icon changes in a ever-present status area (notifications are still the path for applications to draw user's attention to them)
- the top panel should still be reserved for system-level alerts
- grant simple access to status applets for applications that require it to function
- make sure the behaviour of providing a status icon is opt-in--this is far more possible through portals and the permissions system
Relevant Materials
FreeDesktop Spec Issue: https://gitlab.freedesktop.org/xdg/xdg-specs/-/issues/84
Downstream Issues:
Prior Work
- "How to design a status icon library in 2019"
- Old FreeDesktop Spec for StatusNotifierItem
- 3.26 Status Migration Initiative
Initial Concept
This design is for a small revealer in the Activities overview that be hidden/shown and contains all currently running app status icons and if no applications are currently running that have a status item, then this revealer is not present. Housing this revealer in the overview ties it to all other application activities and keeps it out of areas for displaying system information, i.e. the top bar.