Skip to main content

River

Wayland is a modern, secure display server protocol for Linux and Unix-like operating systems. It is a replacement for the older X11 system and it manages how applications render graphics and windows to your screen. River is probably the only Wayland non-monolithic compositor. While popular compositors like Sway or Hyprland tightly integrate the window manager and the compositor into a single, inseparable executable, River embraces a modular philosophy.

At its core, River acts as the foundation, handling the complexities of rendering and input. However, it delegates the actual layout and behavior of windows to external processes (window managers). This is made possible through the river-window-management-v1 protocol, which allows the compositor to communicate with independent window managers.

RECENT

River Protocol & Architecture

·1226 words·6 mins
I’m currently studying River in the hope of crafting a guile scheme based window manager, River uses a unique non-monolithic approach, unlike the "all-in-one" approach seen in many compositors, it splits the responsibilities of rendering and window management. I am using this post as a living document to log my notes and findings as I study the river-window-management-v1 protocol. One done, it should be a great foundation for those who want to understand my window manager or write their own based on River.