docs(niri): fold AGENTS.md overwrite into niri KB section

The working tree had replaced the operating contract in AGENTS.md with a
niri config-reload + keybinding-constraints note. Content relocated to its
proper home: tips.md 3-config-reload (SIGHUP footgun, load-config-file) and
key-bindings-syntax.md constraints section. AGENTS.md restored from HEAD.
This commit is contained in:
Frank
2026-09-09 16:19:02 -07:00
parent 898519712b
commit ac1608e71f
2 changed files with 14 additions and 1 deletions
@@ -54,6 +54,12 @@ wev
Shifted keys require Shift + the unshifted key (for example, `Mod+Shift+Comma` for `<` on US QWERTY).
## Constraints
- One action per keybind. Each `{ ... }` block holds exactly one action; multiple actions like `{ move-window-up; consume-or-expel-window-up; }` are rejected at parse time.
- No duplicate keys. The same key combo (e.g. `Mod+CTRL+Left`) can only appear once in `binds {}`. Adding a new binding for an existing key causes a parse error.
- Valid consume/expel actions: `consume-or-expel-window-left`, `consume-or-expel-window-right`, and `expel-window-from-column`. The `consume-or-expel-window-up`/`-down` variants do NOT exist.
## Related
* [Default Key Bindings](/tools/niri/default-bindings.md) — What niri ships with out of the box
+8 -1
View File
@@ -21,7 +21,14 @@ Use `Mod` instead of `Super` for configs that work both on TTY and in nested win
## 3. Config reload
niri supports live-reloading config without restart.
**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 `include`d from the main config, so a reload picks up edits to any included module.
## 4. Alternative navigation