StatusNotifierItem specification status and proposal
Sergio Costas
rastersoft at gmail.com
Sun Mar 2 15:19:03 UTC 2025
Hello,
I've been checking the current specs, and I see that the
StatusNotifierItem specification is still in "draft", and that it
doesn't seem to be in the freedesktop's gitlab, so I presume that any
suggestion must be done here, in the list.
First, I wonder what happens with the "Ayatana Indicators" way of
registering an indicator: just creating an
/org/ayatana/NotificationItem/XXXX inside whatever public DBus interface
the program has, and adding inside an org.kde.StatusNotifierItem
interface. After checking the KDE implementation, it clearly doesn't
follow it, but instead only follows the method specified in the public
specification. Do you think that the "Ayatana" way would be interesting
for the spec? AFAIK, that would allow to show Tray Icons from flatpak
containerized applications without needing to add specific permissions
(currently, it seems that you must add an option to allow it to work).
Also, I was wondering if adding support for sending SVG icons directly
"over the wire" would be interesting. I mean: currently it is possible
to send either an icon name, or a binary representation of an icon. The
later gives a lot of flexibility to the application, because it can, if
desired, generate icons "on-the-fly", but has the problem that, being an
ARGB binary representation, they must have an specific size. Also, due
to this limitation, there seems to be some implementations that don't
support this method (as stated in the KDE code), so if an application
uses that, it is possible that just a blank rectangle will be painted.
So, my idea was to add a new set of methods
(org.freedesktop.StatusNotifierItem.IconSVG,
org.freedesktop.StatusNotifierItem.OverlayIconSVG,
org.freedesktop.StatusNotifierItem.AttentionIconSVG), that allow to send
a SVG icon (this is, a string with the XML that forms the SVG) from the
application to the tray, and add it in a new version of the API, thus
ensuring that the application can know if the tray has that capability
or not, and be able to fallback if needed. This would give all the
flexibility of custom icons, and all the flexibility of scalability,
among with being able to create theme-aware symbolic icons.
Opinions...?
More information about the xdg
mailing list