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.
Regards, Ian.
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@das-netzwerkteam.de, http://das-netzwerkteam.de
Attachment:
pgpbnEJoB54uu.pgp
Description: Digitale PGP-Signatur