clay is a wayland server library and compositor that does whatever I want my wayland server to do. Its features follows my mood, and has been rewritten more times than I can count.
meson setup build ninja -C build ./build/clay -c config.toml
clay starts with an empty container on each output. More empty containers can be created with mod+shift+enter, and containers can be destroyed with mod+shift+backspace.
Windows open in the currently focused container, and mod+tab/mod+shift+tab or mod+mouse scroll will go through the available windows for that container. Any window that is not currently shown in another container is available.
This has the effect that e.g. a launcher will open up in the focused container, and whatever it launched naturally replaces it as the container remains focused. A history stack and some special logic around toplevel parents ensure logical fallback when a window disappears.