Copy of the legacy ~/.pi/agent/docs tree rebuilt as the command-center knowledge base: concept files promoted to path identity, index listings stripped of frontmatter, all wikilinks/relative links resolved, every checkable claim verified against the live fleet (Dankserver = Ryzen 7 7700X + RTX 3090; Strix Halo is Dankclaw), unverifiable claims tagged. kb-lint exits 0.
96 lines
3.2 KiB
Markdown
96 lines
3.2 KiB
Markdown
# 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
|
|
|
|
```
|
|
~/.config/niri/
|
|
├── config.kdl # Main entry, includes all modules
|
|
└── cfg/
|
|
├── animation.kdl # Spring and curve animations
|
|
├── autostart.kdl # Startup applications
|
|
├── display.kdl # Output configuration
|
|
├── input.kdl # Keyboard, touchpad, mouse
|
|
├── keybinds.kdl # All key bindings
|
|
├── layout.kdl # Gaps, column widths, struts
|
|
├── rules.kdl # Window and layer rules
|
|
└── misc.kdl # Environment, cursor, debug
|
|
```
|
|
|
|
## 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** | 33%, 50%, 67% |
|
|
|
|
## Input
|
|
|
|
| Setting | Value |
|
|
|---------|-------|
|
|
| **Focus follows mouse** | Enabled |
|
|
| **Workspace back-and-forth** | Enabled |
|
|
| **Numlock** | Enabled on startup |
|
|
| **Touchpad tap** | Enabled |
|
|
| **Natural scroll** | 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 |
|
|
|
|
## 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 |
|
|
| `render-node` | `/dev/dri/renderD129` | Intel Arc iGPU |
|
|
|
|
## Animations
|
|
|
|
| Animation | Type | Parameters |
|
|
|-----------|------|------------|
|
|
| Workspace switch | Spring | damping=1.0, stiffness=1000 |
|
|
| Window open | Duration | 200ms, ease-out-quad |
|
|
| Window close | Duration | 200ms, ease-out-cubic |
|
|
| Window movement | Spring | damping=1.0, stiffness=800 |
|
|
| Window resize | Spring | damping=1.0, stiffness=1000 |
|
|
|
|
---
|
|
|
|
## Concept Files
|
|
|
|
| File | Type | Description |
|
|
|------|------|-------------|
|
|
| [[action-reference|action-reference.md]] | reference | Complete reference of all available niri actions |
|
|
| [[default-bindings|default-bindings.md]] | reference | Default key bindings organized by category |
|
|
| [[key-bindings-syntax|key-bindings-syntax.md]] | reference | KDL configuration syntax for key bindings |
|
|
| [[tips|tips.md]] | howto | Practical tips for working with niri |
|
|
|
|
---
|
|
|
|
## See Also
|
|
|
|
- [[noctalia-shell|noctalia-shell]] — Desktop shell integration
|
|
- [[displays|displays]] — Three-monitor setup
|
|
- [[cachyos|cachyos]] — Operating system
|