xpra icon
Bug tracker and wiki

Opened 8 months ago

Last modified 3 months ago

#2161 assigned enhancement

StatusNotifierItem support

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: major Milestone: future
Component: platforms Version: 2.4.x
Keywords: Cc:

Description

Specification: https://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/

This replaces the now defunct appindicator API (#43, #406), and is based on dbus.
Without this, the system tray does not show up on Ubuntu 18.04 and later. (and probably other DEs too)

Change History (3)

comment:1 Changed 8 months ago by Antoine Martin

Status: newassigned

As of r21786, we now recommend the gnome-shell-extension-top-icons-plus package, but this still requires extra steps to enable.

comment:2 Changed 8 months ago by Antoine Martin

Milestone: 2.53.0

comment:3 Changed 3 months ago by Antoine Martin

Milestone: 3.0future

Related to #476, see also #2242. For gnome-shell: ticket:476#comment:12

I can't find any decent documentation anywhere. Just this: StatusNotifierItem which is quite low level and not very useful. Funny quote: ..tough more model-view oriented, giving more freedom to the workspace how to graphically represent the items coherent to its visual style language - which actually means less freedom for the applications. Taking freedom away from developers but making it sound like this is way better for everyone. Free software, yay..

According to https://github.com/syncthing/syncthing-gtk/issues/73: It's just that Unity rebranded a limited subset of what KDE's StatusNotifiers as AppIndicators and just ignores all other features (Passive / Active states, icon activation/left-clicking, application titles, tooltips, ...).
So we already have some support for this stuff, just using a more limited Ubuntu variant of the API.
The more complete API variant adds left-click support and that certainly would help: we can then forward it and almost pretend to have a fully functional system tray. The problem is that Ubuntu won't support this... so not much of an improvement on that platform, plus the extra pain of having to detect what is and what isn't supported at runtime, and use something else as fallback.

Some example code:

Meanwhile, MS Windows supports the same sane API since before Windows 2000. Linux desktop total failure right here.

Re-scheduling, it's not looking good for Linux clients..

Last edited 3 months ago by Antoine Martin (previous) (diff)
Note: See TracTickets for help on using tickets.