The River project decouples window management from compositing in Wayland environments, enabling independent window manager development and session persistence.

The River project has established a technical framework that fundamentally alters how window management functions within Wayland environments. Developed by Isaac Freund, a core contributor to the Zig programming language and wlroots toolkit, River separates window management responsibilities from the compositor role—a significant architectural shift from standard Wayland implementations.
Regulatory Action: Protocol Specification
River defines a documented window management protocol that standardizes communication between a compositor and window manager. This protocol enables third-party window managers to control window placement, decoration, and behavior while River handles display server functions and composition. The specification ensures consistent implementation requirements for any window manager interfacing with River.
Implementation Requirements
Developers creating River-compatible window managers must:
- Adhere to the published protocol for window state management
- Implement event handling for user interactions (resizing, moving, focus changes)
- Manage window decorations independently of the compositor
- Maintain compatibility with River's state machine architecture
The architecture eliminates round-trip communication latency between the window manager and compositor. As Freund demonstrated, even inefficient window managers written in high-level languages perform responsively because interactions occur through asynchronous events rather than synchronous calls.
Compliance Timeline
River's protocol reached stability in late 2025 after three years of development. Current compatible window managers include:
- river-tile (reference implementation)
- Nine community-developed alternatives supporting tiling, stacking, and floating layouts
The specification maintains backward compatibility under the principle of not breaking existing window managers—a deliberate parallel to Linux's kernel/userland stability rules. Users can switch between window managers during active sessions without losing window states or positions.
Limitations and Exclusions
River's scope excludes:
- Special effects like wobbly windows (requires compositor-level integration)
- Non-traditional display environments (VR headsets, spherical displays)
- X11 window manager compatibility (addressed separately by the Wayback project)
This architectural approach promotes ecosystem diversity by lowering barriers to window manager development. Developers can create managers in any language without performance penalties, potentially expanding Wayland's limited window management options compared to X11. The protocol documentation provides explicit implementation guidance for organizations building custom desktop environments.

Comments
Please log in or register to join the discussion