Web lists-archives.com

Re: Upcoming shift to Ayatana (App)Indicator(s)

Hi Ian,

On  Di 03 Apr 2018 20:11:43 CEST, Ian Jackson wrote:

Mike Gabriel writes ("Re: Upcoming shift to Ayatana (App)Indicator(s)"):
On  Do 29 Mär 2018 15:54:26 CEST, Simon McVittie wrote:
> Is Ayatana AppIndicator a reasonable exit strategy for escaping from
> XEmbed-based tray icons, which are increasingly poorly supported and have
> no Wayland implementation?

Yes, absolutely! And, it allows one to have more fiddly widgets in
those system tray menus then, too (like sliders, calendars, switches,


I have two questions:

 1. Is there some risk that trayer will stop being able to
    handle applets from things like network-manager ?
    If so what should I replace it with ?

Not in the foreseeable future, I guess (except from trayer being GTK-2).

The fancy widgets (sliders, etc.) for now appear in _system_ indicators, only. They are special indicators in MATE, XFCE (optionally), possibly Budgie (optionally), that have a special rendering and don't use the StatusNotifierItem implementation. (And they don't work, yet, on Debian, only on Ubuntu, because they require some Ubuntu'ish GTK-3 patch).

The AppIndicator based applications only use menu items (widgets) that have been used in Xembed based systray menus, so far.

I also have an (symbiosisware, so as yet unreleased) program which
uses tk-tktray (package `tktray'), and embeds an X window belonging to
a different executable.

 2. Is there some risk that tktray will not work with the
    answer to (1) ?  If so what should I replace it with ?

tk-tktray is an API for Xembed'ding a systray icon. This will continue to work, as long as a desktop env provides Xembed support. However, I wouldn't code new projects based on tk-tkray.

Answers to 1 should not suppose that I want to change my window
manager or adopt a full-on `desktop environment' or a `panel' (unless

The window manager is +/- totally unrelated to the topic.

perhaps the panel can be made to be as small as its contents).  My
window manager is vtwm.

Some weeks ago, I uploaded the vala-panel package to unstable. It supports AppIndicators and Xembed based applications alike. It could well need some more testers and feedback. However, it is a promising project esp. for people that don't want to use a specific desktop env but rather assemble their own working environment.

Answers to 2 should ideally suppose that I want to continue to use
XID-based window embedding to make an applet which contains the window
from a separate X client.

I am not sure, I am fully getting the application design, you have in mind here. Do you mean X-embedding (this is about icons and systray and the icons have menus and submenus) or reparenting? With X11 reparenting you can reparent X11 application 1 into X11 application 2. (xterm has it even as cmdline option).

I note that neither trayer nor tktray seem to involve any of the
libraries being discussed in this thread.  Is that because an
`indicator' is not the same as an `applet', or is it due to churn, or
something else ?

It is because AppIndicator does not do X-embedding at all. And for X-embedding, you merely new some libX11 calls. AppIndicator / SNI is about an application (written in GTK, Qt, what-not) sending its menu tree and systray icon over DBus and on the other end a desktop env applet (renderer) that pumps this menu structure into the panel (your elsewhere appropriate).

I you have more question, please ask. Thanks for the discussion!

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@xxxxxxxxxxxxxxxxxxx, http://das-netzwerkteam.de

Attachment: pgpag1qMQivym.pgp
Description: Digitale PGP-Signatur