Wayland tales: basic compositing stuff ────────────────────────────────────────────────────────────────────── It's been a month now that I've started writing my own Wayland compositor library based off wlroots, libowl[0]. My initial goal was to achieve parity with my current X11 setup, which is really very simple. All I really need is move/resize windows with the mouse and maximize windows with a keystroke. And boy, this is hard. I knew wlroots was a "batteries not included" kind of library, and I was prepared to having to write a lot of code (way more so than with libwm/glazier/wmutils). But I didn't expect how deep this would go... The wayland protocol helps you get pixels moving on the screen. Making sense of these pixels is done with agreed upon protocols, like "XDG shells" or "session lock". And you need to implement every single one of these to get the most basic functionality of your compositor ! I've reached a point in libowl[0] where I could dogfeed myself and use my own compositor. And I'm nowhere near finished... Because I now need to implement the freaking "drag'n'drop" protocol if I want to reattach Firefox tabs to its own freaking windows ! And idle inhibitor, and session lock, and zones... I'm tired, boss. -- ~wgs [0]: gopher://z3bra.org:70/1/scm/libowl/log.gph 20260409.0909