On 29/03/2018 15:11, Mike Gabriel wrote: > [stuff] Thanks for this summary and your work on this.
> ### Ayatana AppIndicator API > > The Ayatana AppIndicator API is just one way of talking to an SNI DBus > service. The implementation is done in the shared lib > 'libayatana-appindicator'. This library provides an easy to implement > API that allows GTK-2/3 applications to create an indicator icon in a > panel with an indicator renderer added. > > In the application, the developer creates a generic menu structure and > defines one or more icons for the system tray (more than one icon: only > one icon is shown (plus some text, if needed), but that icon may changed > based on the applet's status). This generic menu is sent to a DBus > interface (org.kde.StatusNotifier). Sometimes, people say, that such > applications have SNI support (StatusNotifier Interface support). > > The Ayatana Indicators project offers Ayatana AppIndicator to GTK-3 > developers (and GTK-2, but well...). Canonical implemented bindings for > Python2, Perl, GIR, Mono/CLI and we continue to support these as long as > it makes sense. That sounds interesting. I maintain openpgp-applet [0] (both upstream and in debian, which is in perl / gtk3 and currently uses the old fashion systray. However, I did a quick search, and I couldn't find the bindings for perl you speak about, be it on CPAN or Launchpad. I probably missed it, could you share a link ? > The nice part of Ayatana AppIndicator shared library is: if a desktop > shell does not offer the SNI service, then it tries to fall back to the > xembed-way of adding system tray icons to your panel / status bar. > > In Debian, we will start sending out patches too SNI supporting > applications soon, that make the shift from Ubuntu AppIndicator (badly > maintained in Debian) to Ayatana AppIndicator. The cool part of this is, > you can convert your GTK-3 application from Ubuntu AppIndicator to > Ayatana AppIndicator and use it on top of any(!) SNI implementation, be > it an applet based on Ubuntu Indicators, based on Ayatana Indicators or > some other implementation, like the vala-sntray-applet or SNI support in > KDE. I remember reading somewhere that a limitation is that you can only use one type of click (no way to behave differently on right-click / left-click), so I guess in some cases the switch means also a new UI, right ? Cheers, [0] https://tracker.debian.org/openpgp-applet, and https://openpgp-applet-team.pages.debian.net for the upstream project -- nodens