- niri: index/config-tree rework, displays.md desk-profile rewrite, tips/action-reference/default-bindings refresh (26.04), generated keybindings.md (119 bindings) - noctalia-shell.md: settings.toml lives in ~/.local/state, taskbar widget, v5 keybind table (Mod+D/Mod+V/Alt+Tab) - handy.md: NEW; live nested store shape, fleet endpoint, known thinking-model empty-content breaker + verified cure - log.md: DE redesign entry + pam_faillock sudo-lockout incident
2.2 KiB
type, title, description, tags, verified
| type | title | description | tags | verified | |||
|---|---|---|---|---|---|---|---|
| howto | Niri Tips and Gotchas | Practical tips for working with niri — Mod key behavior, shell expansion, config reload, vim keys, and programmatic invocation. |
|
2026-10-09 |
Helpful Tips
1. Mod key
Use Mod instead of Super for configs that work both on TTY and in nested windows.
2. No shell expansion in spawn
spawn does not expand $VAR or ~. Use spawn-sh or wrap in sh -c.
3. Config reload
Do NOT send SIGHUP to the niri process (kill -s SIGHUP $(pgrep -f 'niri --session')) — it causes a full session logout/restart instead of a live config reload.
Correct reload options, in order of preference:
niri msg action load-config-file— live reload without disrupting the session (preferred).- Log out and back in (safe, guaranteed clean reload).
- Let the user decide when to reload; agents should modify config files without auto-reloading.
Niri reads ~/.config/niri/config.kdl (or config.kdl relative to its CWD). Split config lives in ~/.config/niri/cfg/ — each .kdl file is included from the main config, so a reload picks up edits to any included module.
26.04 Config Loading Features
niri msg action load-config-file --path <file> switches configs at runtime (26.04). It includes:
optional=truesupport — allows loading configs that may not exist~expansion — tilde paths are expanded to the niri user's home directory
4. Alternative navigation
Vim-like keys (H/J/K/L) are bound by default alongside arrow keys.
5. Programmatic invocation
Every action can be invoked via niri msg action <action-name>.
26.04 IPC Enhancements
niri msg layers— lists layer-shell namespaces per outputniri msg casts— lists active PipeWire screencastsEscapecancels drag-and-drop operations- Duplicate-bind parse errors now show the first definition in the file
Pointer Behavior
Pointer warps across the screen during view-scroll gestures.
Related
- Key Bindings Syntax — Configuration details
- Action Reference — All available actions