xfway: a Wayland compositor inspired by xfwm4

adlo adloconwy at gmail.com
Fri Jun 28 04:34:23 CEST 2019

I am wondering how I could implement the tabwin widget in xfway. The tabwin widget uses GTK, so it would have to be implemented using a helper client.

I can think of two possible ways of doing this:

Option 1:
Put more of the alt-tab task switching logic client-side, giving the tabwin widget control of switching windows. The helper client will track which windows are open. The tabwin widget will tell the compositor which window to select or activate using a protocol. Essentially, like xfwm4 is now, but with xfway's server-side code replacing the X server.

probably makes it easier to integrate with the rest of xfwm4

involves more back-and-forth between the client and server parts of the compositor

Option 2:
Put all of the alt-tab task switching logic server-side, except for the widget itself. The compositor could simply send an event containing details about the currently selected window. When the Alt key is released the compositor will activate the currently selected window with no input from the client-side tabwin widget.

The pros and cons are basically the reverse for this option. Less back-and-forth, but less integration.

How would you decide to do it?

With regards to Option 1, would it be possible to adapt the client_cycle code to support Wayland?

How does xfwm4 do it? Is it the tabwin code or the client_cycle code that ultimately activates the window?



> On 27 Jun 2019, at 19:30, adlo <adloconwy at gmail.com> wrote:
> xfway is a Wayland compositor inspired by xfwm4:
> https://github.com/adlocode/xfway
> I'm not sure if this is an actual attempt at a port or more of a spin-off project a la Sway, but here it is, and I just wondered if you would like to have a look at it.
> It supports the wlr-foreign-toplevel protocol, which can be used for window management functions, and the wlr-layer-shell protocol, which can be used for creating panels etc.
> At the moment it's little more than a Weston clone with some wlroots support, but there you go.
> What do you think?
> Regards
> adlo

More information about the Xfce4-dev mailing list