A minimalist scrolling window manager implementing the river-window-management-v1 protocol, written in Zig
- Zig 100%
| protocol | Update to Zig 0.16 | |
| src | Merge pull request 'Add actions to select left/right window OR output plus maximizing column' ( #44 ) from lukeflo/rill:move_to_window_or_monitor into main | |
| .gitignore | Update to Zig 0.16 | |
| build.zig | Add build option for stripping debug information | |
| build.zig.zon | Update to Zig 0.16 | |
| config.zon | Add cursor config option | |
| LICENSE | Add LICENSE | |
| README.md | Update to Zig 0.16 | |
Rill
A minimalist scrolling window manager for river, implementing the river-window-management-v1 protocol
Features
- Scrolling layout
- Floating layout
- Workspaces
- Animations
- Live-reloading config
- Multi-output
Installation
You can download pre-built binary from releases.
Configuration
Rill searches for a config file at the following locations in order:
$XDG_CONFIG_HOME/rill/config.zon
$HOME/.config/rill/config.zon
See the default config as an example.
Usage
River needs to be installed first.
Run rill in river's init file, or directly run river -c rill.
Default Keybindings
| Keybinding | Action |
|---|---|
Super q |
Close window |
Super f |
Toggle fullscreen |
Super minus |
Decrease window's width by a proportion of 0.1 |
Super equal |
Increase window's width by a proportion of 0.1 |
Super BackSpace |
Set window's width to a proportion of 0.5 |
Super Left |
Focus on window left |
Super Right |
Focus on window right |
Super Shift Left |
Move window to the left |
Super Shift Right |
Move window to the right |
Super v |
Toggle workspace floating |
Super Up |
Focus on workspace above |
Super Down |
Focus on workspace below |
Super grave |
Focus on previous workspace |
Super 1~0 |
Focus on workspace 1~10 |
Super Shift Up |
Move window to workspace above |
Super Shift Down |
Move window to workspace below |
Super Shift 1~0 |
Move window to workspace 1~10 |
Super h |
Focus on output left |
Super l |
Focus on output right |
Super k |
Focus on output above |
Super j |
Focus on output below |
Super Shift h |
Move window to output left |
Super Shift l |
Move window to output right |
Super Shift k |
Move window to output above |
Super Shift j |
Move window to output below |
Super Escape |
Exit river |
Super r |
Reload config |
Super t |
Open alacritty |
XF86AudioRaiseVolume |
Raise volume of PipeWire default audio sink by 5% |
XF86AudioLowerVolume |
Lower volume of PipeWire default audio sink by 5% |
XF86AudioMute |
Toggle mute for PipeWire default audio sink |
XF86AudioMicMute |
Toggle mute for PipeWire default audio source |
Default Pointer Bindings
| Pointer Binding | Action |
|---|---|
Super Left Click |
Move floating window |
Super Right Click |
Resize floating window |
Build
Dependencies
- zig 0.16
- wayland
- wayland-protocols
- xkbcommon
zig build --release=safe