No description
- Rust 98.9%
- GLSL 0.6%
- Nix 0.4%
| .github | ||
| docs | ||
| resources | ||
| src | ||
| xiri-config | ||
| xiri-ipc | ||
| xiri-visual-tests | ||
| .gitignore | ||
| build.rs | ||
| Cargo.lock | ||
| Cargo.toml | ||
| clippy.toml | ||
| CONTRIBUTING.md | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
| rustfmt.toml | ||
| typos.toml | ||
| xiri-home.nix | ||
| xiri.spec.rpkg | ||
Xiri is a scrollable-tiling Wayland compositor.
About
Windows are arranged in columns on an infinite strip going to the right. Opening a new window never causes existing windows to resize.
Every monitor has its own separate window strip. Windows can never "overflow" onto an adjacent monitor.
Workspaces are dynamic and arranged vertically. Every monitor has an independent set of workspaces, and there's always one empty workspace present all the way down.
The workspace arrangement is preserved across disconnecting and connecting monitors where it makes sense. When a monitor disconnects, its workspaces will move to another monitor, but upon reconnection they will move back to the original monitor.
Features
- Built from the ground up for scrollable tiling
- Dynamic workspaces like in GNOME
- An Overview that zooms out workspaces and windows
- Built-in screenshot UI
- Monitor and window screencasting through xdg-desktop-portal-gnome
- You can block out sensitive windows from screencasts
- Dynamic cast target that can change what it shows on the go
- Touchpad and mouse gestures
- Group windows into tabs
- Configurable layout: gaps, borders, struts, window sizes
- Gradient borders with Oklab and Oklch support
- Background blur for windows and layer-shell surfaces
- Animations with support for custom shaders
- Live-reloading config
- Works with screen readers
Video Demo
https://github.com/niri-wm/niri/assets/1794388/bce834b0-f205-434e-a027-b373495f9729