Web lists-archives.com

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

Hi Ian,

now I see clearer...

On  Mi 04 Apr 2018 16:00:41 CEST, Ian Jackson wrote:

Mike Gabriel writes ("Re: Upcoming shift to Ayatana (App)Indicator(s)"):
On  Di 03 Apr 2018 20:11:43 CEST, Ian Jackson wrote:
> 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).

My applet has *both* of the above.  Firstly, the applet uses the
xembed protocol (via the tcl tktray package) to embed its toplevel X11
window into the tray (provided by trayer, although I don't see why it
shouldn't work with a full-on DE).

This is old-style systray icon creation. Still supported on all DEs with Xembed support in this or that way.

Secondly, the applet's tcl code makes a subwindow (using `frame
-container'), whose X11 window ID it passes to a separate program;
that separate program is given the window ID with -into and makes its
own window a child of the applet's.

Not related to the systray topic at all, however this is an X11-only technique (I am no Wayland nor Mir expert, so others may please correct me). On non-X11 graphical backend engines, you will need some X11 layer in the middle (between your application and the underlying Compositor).

So, overall, the subprocess's rendering is displayed in the tray; but
the tcl code handles user mouse input etc.

Yep. Now understood.




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: pgptJyQOQI5r0.pgp
Description: Digitale PGP-Signatur