An example of how to hack DVUI and layer shell protocol together.
Zig 93%
Nix 7%
Shell <1%

README.md

This is a (rather badly written) example of how to integrate DVUI with some advanced Wayland features, such as wlr-layer-shell-unstable-v1, aka layer shell protocol.

In src/sdlCustomInit.zig, I basically copied the SDL backend initialization and added some hacks to intercept window initialization process and make it not depend as much on the framework code. Gladly, there are not that many hacks, the biggest one is const sdl3 = true up top. The DVUI backend supports both SDL3 and SDL2, I make an assumption that you are only going to run SDL3.

Another assumption is that SDL is going to choose the Wayland backend and not XWayland. If it crashes and mentions XWayland in logs, set SDL_VIDEO_DRIVER environment variable to wayland.

export SDL_VIDEO_DRIVER = "wayland"

Then run it through zig build run.