Xpra-org / xpra

Persistent remote applications for X11; screen sharing for X11, MacOS and MSWindows.
https://xpra.org/
GNU General Public License v2.0
1.88k stars 163 forks source link

StatusNotifierItem support #2161

Open totaam opened 5 years ago

totaam commented 5 years ago

Specification: 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)

totaam commented 5 years ago

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

totaam commented 5 years ago

Related to #476, see also #2242. For gnome-shell: #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..

totaam commented 3 years ago

Oh, and RedHat seems to think that ignoring the issue will make it go away: Fedora Workstation needs tray icon/appindicator support: Since upstream GNOME doesn't seam ready any time soon to deliver a workable alternative to the traditional system tray on which many applications still relies, I think that Fedora Workstation (which comes with GNOME) should consider to include by default one of the GNOME shell extensions that provides the service. Indeed.

totaam commented 2 years ago

The issue has been revived, but sadly it is still going completely in the wrong direction: Update StatusNotifierItem/systemtray spec seems to be going towards a spec that specifies what can go in the system tray: only a menu of course! This will make it practically unusable for forwarding system trays generically. Free software doesn't mean freedom here for sure. (next perhaps, we will be forced to use monochrome or no icons at all ... "because UX", this is madness)

totaam commented 2 years ago

From this spec's latest post: "A new spec is only useful if there's a willingness to break older applications."

They actually want to break older applications, on purpose! (anyone still wondering why the Linux desktop is not a thing yet?)