Niri Wayland Compositor
Niri is a scrollable-tiling Wayland compositor. Windows are arranged in columns that scroll horizontally. It uses KDL-format configuration with an include-based modular structure.
Version: 26.04 (8ed0da4)
Config: ~/.config/niri/config.kdl
Configuration Structure
Layout
Column-based scrollable tiling. Columns are cycled with Mod+Left/Right (or Mod+H/L). Windows within columns stack vertically.
| Setting |
Value |
| Gaps |
16px |
| Center focused column |
Never |
| Background |
Transparent (for Noctalia wallpaper) |
| Column presets |
12.5%, 25%, 33%, 50%, 67%, 75%, 87.5% (Mod+R / Mod+Shift+R) |
Input
| Setting |
Value |
| Focus follows mouse |
Enabled |
| Workspace back-and-forth |
Enabled |
| Numlock |
Enabled on startup |
| Touchpad tap |
Enabled |
Window Rules
| Rule |
Match |
Effect |
| All windows |
— |
20px corner radius, clipped |
| Steam (non-window) |
app-id="steam", exclude title Steam |
Open floating |
| Steam notifications |
app-id="steam", title notificationtoasts_* |
Floating, bottom-right |
| Noctalia wallpaper |
namespace noctalia-wallpaper* |
Place in backdrop |
| Noctalia settings |
app-id="dev.noctalia.Noctalia" |
Floating 1080x920 |
| Noctalia layers |
namespace `^noctalia-(bar |
notification |
Environment Variables
| Variable |
Value |
Purpose |
ELECTRON_OZONE_PLATFORM_HINT |
auto |
Electron Wayland support |
QT_QPA_PLATFORM |
wayland |
Qt Wayland |
QT_QPA_PLATFORMTHEME |
gtk3 |
Qt GTK theme |
QT_WAYLAND_DISABLE_WINDOWDECORATION |
1 |
Remove Qt CSD |
XDG_CURRENT_DESKTOP |
niri |
Desktop identification |
XDG_SESSION_TYPE |
wayland |
Session type |
Animations
| Animation |
Type |
Parameters |
| Workspace switch |
Spring |
damping-ratio=1.0 stiffness=1000 |
| Window open |
Duration |
200ms, ease-out-quad |
| Window close |
Duration |
200ms, ease-out-cubic |
| Window movement |
Spring |
damping-ratio=1.0 stiffness=800 |
| Window resize |
Spring |
damping-ratio=1.0 stiffness=1000 |
Concept Files
| File |
Type |
Description |
| action-reference.md |
reference |
Curated reference of niri actions |
| default-bindings.md |
reference |
Default key bindings organized by category |
| key-bindings-syntax.md |
reference |
KDL configuration syntax for key bindings |
| tips.md |
howto |
Practical tips for working with niri |
| displays.md |
reference |
Desk-profile system: EDID-keyed outputs, hotplug auto-switch, portrait transforms, GPU notes |
| keybindings.md |
reference |
GENERATED keybinding cheat sheet (scripts/gen-keybinds.sh) |
| screenshots.md |
reference |
Screenshot bind matrix: flameshot vs niri-native, 2+ output limits, all-monitor capture |
See Also