[Pkg-ayatana-devel] Ayatana/Appindicator support in other distros/Standalone panel implementation

Mike Gabriel mike.gabriel at das-netzwerkteam.de
Wed Mar 21 15:25:29 UTC 2018


Hi Ivan,

sorry for the delay on my side...

On  Do 15 Mär 2018 23:02:28 CET, Ivan Malison wrote:

> I've been working on a Haskell version of
>
> https://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/

Nice!!!

> to bring SNI support to a standalone status bar
> https://github.com/travitch/taffybar that is typically used with tiling
> window managers like XMonad.

I recently uploaded another standaalone panel to Debian: Vala Panel.  
Just for the record.

> In doing this work, I discovered that there seems to be an alternative
> implementation of SNI (that seems to use a lot of the same dbus namespaces)
> that was developed by canonical that goes by the name appindicators or
> ayatana indicators. It was in the course of trying to find out more about
> this protocol that I stumbled across Mike Gabriel's talk on ayatana
> indicators, and the work that you guys are doing:
>
> http://gensho.ftp.acc.umu.se/pub/debian-meetings/2017/debconf17/ayatana-indicators.vp8.webm
>
> The reason I'm reaching out is because I was hoping to get a few
> clarifications about

Thanks for reaching out in the first place. Much appreciated!!!

> a) What exactly it is that you are working on

There are Ubuntu Indicators (the original, only properly working on  
Ubuntu) and Ayatana Indicators (under development, already partially  
uploaded to Debian, suitable for any other distro, too).

> It seems like there are two main things here:
>
> 1) libayatanaindicators:
>
> basically allows clients to add indicator support to their applications

Correction:

1a)
libayatana-appindicator (or libappindicator in Ubuntu).

Yes, this allows one to add AppIndicator support to (GTK 2 or 3)(!)  
applications. This means, that the application searches for the SNI  
DBus interface and if the service is offered (by  
(ayatana-)indicator-application, it writes its menu tree et al. to  
that DBus service.

If the desktop env lacks SNI support, it tries to find an xembed  
provider and falls back to the old style stystray icon stuff.

1b)
The other library is libayatana-indicator (or libindicator in Ubuntu).  
It is a library utilized by indicator-renderers like  
mate-indicator-applet, xfce4-indicator-applet,  
budgie-indicator-applet. All of them GTK-3.

The libayatana-indicator library is tricky, as it - as of today still  
- requires a GTK-3 patch that only in Ubuntu. That is, if you want to  
use fancy widgets (i.e. non-menu widgets, like slides, calendars, etc.).

The underlying implementation is currently using GtkMenuShell. We are  
currently looking at implementing a similar look'n'feel with  
GtkPopOvers. To make fancy indicators available outside of Ubuntu.

The other approach would be to convince GTK-3 maintainers in distros  
to adopt that patch from Ubuntu's GTK-3.

> 2) A collection of existing indicators that implement this protocol

Yes. These are not using SNI directly but provide a service and a  
rendering part. These are mainly for user interaction with core  
components of a desktop shell (session management, power management,  
sound, etc.).

> Is this correct?

Yes.

> Do you intend to maintain these projects exclusively for Debian, or do you
> intend to help support other distros as well?

I am a DD, not working as a maintainer for Fedora et al. So I bring  
the packages to Debian and also have an upstream hat on. With my  
upstream hat on, I intend to support all Linux distros out there. But  
maintainers from other distros have to pick up the software and upload  
it to their favourite distro.

> b) Is the ayatana protocol documented anywhere?

There are some wiki pages on wiki.ubuntu.com that we need to port on  
some site under the umbrella of the Ayatana Indicators' team. On the  
todo list. Search for Ubuntu Indicators on wiki.ubuntu.com.

> As far as I can tell, there is no official documentation (at the dbus
> level) of the various components of the ayatana version of SNI.

Because the SNI part is / should be fully compliant to the freedesktop  
specs of SNI. The SNI provider is  
https://github.com/AyatanaIndicators/ayatana-indicator-application  
(and it is like 15% of all the code base, or even less...).

> I'm actually implementing an entirely new panel to add to the taffybar
> application that I mentioned earlier. As far as I can tell, no existing
> libraries offer a panel implementation that can be used anywhere, but I'm
> not 100% sure of this. If there were an existing panel (SNI host)
> implementation that I could use I would like to do so.

Vala Panel

Depending on the Widget Kit you use for taffybar, you could immitate  
mate-indicator-applet.

> I realize that most of this is probably only tangentially related to what
> you guys are working on, but this seems to be one of the only sources of
> information on ayatana indicators that there is right now.

No problem. Always ask!!!

Thanks for your interest, I hope I could help out a little.

Mike
-- 

DAS-NETZWERKTEAM
mike gabriel, herweg 7, 24357 fleckeby
mobile: +49 (1520) 1976 148
landline: +49 (4354) 8390 139

GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22  0782 9AF4 6B30 2577 1B31
mail: mike.gabriel at das-netzwerkteam.de, http://das-netzwerkteam.de

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 851 bytes
Desc: Digitale PGP-Signatur
URL: <http://lists.alioth.debian.org/pipermail/pkg-ayatana-devel/attachments/20180321/c06c8e79/attachment.sig>


More information about the Pkg-ayatana-devel mailing list