Xfce-Wayland News
Gaël Bonithon
trash.paradise at protonmail.com
Wed Sep 14 11:54:04 CEST 2022
Hi,
After playing a bit with the foreign-toplevel-management protocol to partially reproduce intelligent panel hiding on Wayland [1], and considering the use I will have to make of this protocol for plugins (at least showdesktop, tasklist, windowmenu), I thought it was worthwhile to start writing a little Wayland interaction library for Xfce.
It's basically wrapping Wayland objects in GObjects, to make them easier to use (at least getters for properties, more convenient signal management), to optimize resource management (caching compositor data only once), and to avoid repetitive writing of Wayland code.
For now it's limited to this protocol (+ some core utils), but there could be more in the future, for example if a request for adding a workspace protocol was accepted [2]. Taking a quick look at the Xfce code base, I see that as it is, at least Xfdesktop could benefit from it in the Xfce group, Xfdashboard, Xfce4-screensaver and Xfce4-taskmanager in the Apps group, and Xfce4-xkb-plugin and Xfce4-pulseaudio-plugin in plugins.
So maybe it would be worthwhile to get it out of the above MR before it is merged (which might not be anytime soon), and add it as a library to Xfce? Maybe also other people outside of Xfce devs might be interested in it, so that might be an argument for sharing it earlier.
I used the prefix `xfwl` so as not to make the symbols too long, because then you have to add the (approximately) full name of the protocol to avoid future collisions. This gives for example `xfwl-foreign-toplevel-manager.c`. So maybe the library could be called Libxfwl.
By building the above MR with `--enable-gtk-doc`, you can get a quick overview of what it looks like. It's in the "Wayland Interaction" section.
What do you think about it?
Cheers,
Gaël
--
[1] https://gitlab.xfce.org/xfce/xfce4-panel/-/merge_requests/96
[2] https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/40
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.xfce.org/pipermail/xfce4-dev/attachments/20220914/461d65cf/attachment.html>
More information about the Xfce4-dev
mailing list