Going through common permissions one that is extremely prevalent that we have no answer for is tray icons, specifically StatusNotifier. So I just wanted to start a discussion on where this fits in and what we can do for it.
The API for this is here: https://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/
I think this should be a pretty simple portal as we just want to proxy calls to StatusNotifierWatcher but filter out RegisterStatusNotifierHost() since that should be a privileged call, filter out the signals since they are noise, and also ensure StatusNotifierItem.Id matches the app-id.
Obviously users of this will have to handle errors and understand that the tray may not exist and we should have a signal to tell the app that the tray is gone or not.
As for where this will be implemented, it will be annoying to do so in libappindicator since its a dead library but we can just patch it I suppose. KDE has its own implementation where this would be handled. And there is a small GObject style lib (but not widely used) that we can implement this in and promote over appindciator (https://github.com/jjk-jacky/statusnotifier).
Going through common permissions one that is extremely prevalent that we have no answer for is tray icons, specifically StatusNotifier. So I just wanted to start a discussion on where this fits in and what we can do for it.
The API for this is here: https://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/
I think this should be a pretty simple portal as we just want to proxy calls to
StatusNotifierWatcherbut filter outRegisterStatusNotifierHost()since that should be a privileged call, filter out the signals since they are noise, and also ensureStatusNotifierItem.Idmatches the app-id.Obviously users of this will have to handle errors and understand that the tray may not exist and we should have a signal to tell the app that the tray is gone or not.
As for where this will be implemented, it will be annoying to do so in
libappindicatorsince its a dead library but we can just patch it I suppose. KDE has its own implementation where this would be handled. And there is a small GObject style lib (but not widely used) that we can implement this in and promote over appindciator (https://github.com/jjk-jacky/statusnotifier).