↓ 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 out there. Popular compositors like Sway or Hyprland tightly integrate the window manager and the compositor into a single executable, River on the other hand follows a modular philosophy.

River takes care of rendering and input while delegating the actual layout and behavior of windows to external processes (they are called window managers). This is possible through the well defined river-window-management-v1 protocol, which is a Wayland extension that allows the compositor (River in this case) to communicate with independent window managers.

RECENT

River Protocol & Architecture

Draft
·6 mins· loading · loading
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.