Hello, Samuel Thibault, le mer. 14 août 2019 17:44:43 +0200, a ecrit: > I have add AtkSocket/AtkPlug support to mate-panel here: > > https://salsa.debian.org/hypra-team/mate-panel/blob/stretch-applets/debian/patches/1001_atk-socket-plug
I'm now looking at the support for tray icons, and the situation is more tricky and makes me think we really need to stuff the support inside GtkPlug. Tray icon docking seems to be requested through a _NET_SYSTEM_TRAY_OPCODE XClientMessage event, that transmits the plug Window id for the socket to embed it. The event is too small to also embed the at-spi path, but we could set a property on the Window to contain it. Each and every applet creating tray icons could add that support, but we'd rather have a shared implementation. Applets happen to use GtkStatusIcon which contains a GtkTrayIcon, which inherits from GtkPlug. So, again it would make sense to integrate the addition of an accessible at the GtkPlug level, and advertise it with a _NET_WM property there. Now, thinking more about this, maybe there is a way to make all of this transparent to applications using GtkSocket/GtkPlug: - introduce the at-spi objects I mentioned in my Aug 14th mail - make GtkPlug expose the at-spi path as a _NET_WM property. - make gtk_socket_add_window try to read it, and if it exists, call atk_socket_embed on it That should be working both for the mate-panel implementation mentioned above, and for tray icons. And for anything that uses GtkPlug/Socket. Is there anything I might be missing? Samuel _______________________________________________ gnome-accessibility-list mailing list gnome-accessibility-list@gnome.org https://mail.gnome.org/mailman/listinfo/gnome-accessibility-list