I'm building Triad, a hybrid tiling Wayland window manager. It targets the new river-window-management-v1 protocol, which separates window management from the Wayland compositor... a split the desktop Wayland stack has needed for years.
Background on the protocol: https://isaacfreund.com/blog/river-window-management/
Why Nim? Native performance, clean FFI to the Wayland and libinput C libraries, and the joy of programming. Compile-time features without the headaches of C or Rust.
I'm using a data-oriented design (DOD): tags, windows, outputs, and their relationships live in flat tables rather than object graphs. Layouts draw from Niri and Mango.
Triad has its own JSON IPC and also speaks the Niri IPC, so Quickshell-based shells (Noctalia, Dank Material Shell) and bars like Waybar work without forks or mods.
Status: very early but usable. I daily-drive and actively develop with Noctalia shell. Still chasing and working out bugs.
Testers and contributors welcome.