xfway: added support for alt-tab switcher

Olivier Fourdan fourdan at gmail.com
Thu Jul 21 09:38:16 CEST 2022


Hi,

On Thu, 21 Jul 2022 at 07:52, adlo <adloconwy at gmail.com> wrote:

> I’m not even sure to what extent a Wayland port of xfwm4 would even be
> xfwm4 anymore, because xfwm4 does a lot of stuff client-side using GTK. I’m
> not sure to what extent that code can be preserved.
>

xfwm4 doesn't use GTK for drawing server-side decorations, just plain X11.


> I think it just about makes sense to draw the alt-tab switcher client-side
> using GTK, but it probably doesn’t really make sense to draw window
> decorations client-side.
>

I think you're confusing client side decorations and server side
decorations.

Client side decorations are handled by the clients, so that's the easy
part. As for server side decorations, Wayland doesn't require it, even
though KDE folks insisted on adding xdg-decoration, this is an optional
protocol and Wayland clients must be able to draw their decorations
themselves - And for those clients who cannot, there's libdecor.

But server-side decorations, i.e. the window manager decorating the client
windows, is still required to support X11 applications through Xwayland,
and Xwayland support is mandatory to keep all those X11 only apps running
in a Wayland world.

So your Wayland compositor has to also be an X11 window manager. which
takes us back to xfwm4. IOW, xfwm4, as a Wayland compositor, should still
be an X11 window manager, as well as a Wayland compositor (i.e. the display
server).


> Where can I find xfwm4’s code for drawing window decorations?
>

In src/frame.c

Also be aware that mutter is considering moving the frame decoration code
out of the window manager process, which IMHO is a very good idea, see
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2175 - Maybe you
could consider reusing that separate client with your Wayland compositor?

Cheers
Olivier
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.xfce.org/pipermail/xfce4-dev/attachments/20220721/de453eab/attachment.html>


More information about the Xfce4-dev mailing list