1
0
Fork
You've already forked weir
0
forked from river/tinyrwm
Tiny river window manager examples
  • Rust 29.4%
  • C 25.5%
  • Lua 16.9%
  • Go 14.5%
  • Janet 12.8%
  • Other 0.9%
2026年07月06日 21:17:22 -06:00
.builds ci: check if lua implementation compiles 2026年05月01日 11:48:50 +02:00
c [c] changed default terminal 2026年06月08日 20:17:16 -06:00
go go: update deps 2026年05月25日 23:03:25 +03:00
janet
LICENSES
lua lua: improve build instructions 2026年05月01日 11:54:14 +02:00
rust switching rust to kitty as well 2026年07月06日 21:17:22 -06:00
README.md docs: encourage incremental improvements 2026年05月01日 12:10:30 +02:00

tinyrwm

A tiny river window manager, implemented in various languages.

This project aims to help people quickly get started with their own river window manager by following an example in their language of choice.

Contributions adding implementations in new languages are very welcome, as are contributions simplifying or otherwise improving existing implementations!

All tinyrwm implementations should:

  • Implement the same tiny feature set
  • Be written in the style most idiomatic to their language
  • Use the standard build/packaging approach for the given language ecosystem
  • Be released under the Zero-Clause BSD license

Happy hacking!

Tiny feature set

Keyboard bindings:

  • Super+Space: Spawn the foot terminal
  • Super+q: Close the focused window
  • Super+n: Cycle keyboard focus through windows
  • Super+Escape: Exit the Wayland session

Pointer bindings:

  • Super+Left Click: Interactive move
  • Super+Right Click: Interactive resize

Additionally, clicking on a window must give the window keyboard focus and raise it above all other windows.

This is not a formal specification, tinyrwm.c is the canonical implementation and its behavior should be matched where this specification is unclear/insufficient.