Any wayland experienced developers can help out diagnose a crash in libwayland-client? clone make && ./test-crash (needs quite a few deps because its a test repo, should be obvious to any developer) valgrind reports in the attached picture. I suspect the load, unload and load again to be the issue. image
Got gtk4 client-side window decoration size details dynamically now - No need for super hacky "render window offline and then fetch position based on pixels", instead it is just: 1. create dummy window 2. fetch its initial size (200x200 on my laptop) 3. add a title bar 4. get title bar size and updated window size 5. x,y offsets are (new size - old size) / 2 picture shows this working nicely, I have an intentional 20px padding around the yellow rectangle image
Never thought I would see a damn AI chatbot inside a DAW as an official feature ๐Ÿ˜• This is not going to stop is it... ๐Ÿ˜ž
Curious thing... Font, window-title-bar and shadow size are different between gtk3 and gtk4. This is on a stock Gnome desktop, installed today, no settings changed at all. They look similar but have their inconsistencies. Yay for client-side decorations! ๐ŸŽ‰ ๐Ÿ˜ข image
Lazily loading gtk4 symbols in order to create a dummy window seems to work. Also on gtk3. Bless be wayland subsurfaces! ๐Ÿ™ image
Hmmm very usable yes... image
Yeah I really hate client-side decorations ๐Ÿ˜ก From top to bottom: 1. Firefox is able to follow Gnome desktop settings, as it uses Gtk on the lower level ๐Ÿ‘ 2. Konsole being KDE and based on Qt is not Gtk related, just makes assumptions on what decorations should be used 3. Carla being Qt behaves the same 4. Steam does its own thing, but also assumes what decorations should be used I really thought Qt&KDE apps would behave better ๐Ÿ˜” PS: Yes I prefer my window buttons on the left side image
I mean, the app can request the compositor to have "server-side decorations" but this is treated as optional protocol. See It is implemented on all major desktops except Gnome ๐Ÿ˜ญ So now all apps need to implement their own decoration, user resizing, etc feels very backwards and wasteful. The way some compositors implement some features and some not is a bit annoying, but the main features are well supported overall. Now to get DPF to support wayland... ๐Ÿ˜ 2 / 2
After a few days writing code and running tests directly with wayland APIs... I like it! ๐Ÿ‘ It is quite different from X11, but so is doing Windowing and events on macOS and Windows. So it is kinda like another platform altogether. The way of dealing with "protocols" feels a little weird at first, but I can really appreciate the extensibility provided and a centralized place for them. So far there is only 1 thing I hate - client-side decorations. 1/2
embedding custom wayland UI stuff on top of gtk3 and gtk4 based applications works! ๐ŸŽ‰ the gtk APIs to get down to the wayland surface are a bit awkward, but at least its accessible. I tried the same with Qt6 and couldn't find a way to have it return the underlying wl_surface pointer. ๐Ÿคท I got an LV2 plugin UI with this setup working, but no hosts to try it out against. Modifying jalv.gtk3 is likely the easiest path... ๐Ÿค” WIP test code dump at image