<div dir="ltr"><div>Hi,</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 21 Jul 2022 at 07:52, adlo <<a href="mailto:adloconwy@gmail.com">adloconwy@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="ltr"></div><div dir="ltr">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.</div></div></blockquote><div><br></div><div>xfwm4 doesn't use GTK for drawing server-side decorations, just plain X11.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="ltr">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.<br></div></div></blockquote><div><br></div><div>I think you're confusing client side decorations and server side decorations.</div><div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div><div>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).</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="ltr"></div><div dir="ltr">Where can I find xfwm4’s code for drawing window decorations?<br></div></div></blockquote><div><br></div><div>In src/frame.c</div><div><br></div><div>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 <a href="https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2175">https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2175</a> - Maybe you could consider reusing that separate client with your Wayland compositor?</div><div><br></div><div>Cheers</div><div>Olivier</div></div></div>