Add a keybindings overview page to the drawer #1

Merged
arne merged 1 commit from keybindings-overview into main 2026-09-15 22:31:33 +02:00
Owner

Reads the final, resolved programs.niri.settings.binds at build time (nix/keybinds.nix) and turns it into a categorized, deduplicated catalog rather than a hand-copied list, so a rebound key or a consumer override shows up with no second edit. Drawn as a sixth drawer page, reached by Mod+Shift+Slash (which used to open niri's own hotkey overlay) or by paging like any other page.

Reads the final, resolved `programs.niri.settings.binds` at build time (nix/keybinds.nix) and turns it into a categorized, deduplicated catalog rather than a hand-copied list, so a rebound key or a consumer override shows up with no second edit. Drawn as a sixth drawer page, reached by `Mod+Shift+Slash` (which used to open niri's own hotkey overlay) or by paging like any other page.
nix/keybinds.nix reads the final, resolved `programs.niri.settings.binds` —
after niri.nix's own defaults and any consumer override have both landed,
the same attrset niri itself binds from — and turns it into a categorized,
deduplicated catalog: one row per action, every key bound to it collected
onto that row. Titles come from niri's own `hotkey-overlay.title` for
spawns, or a small hand-authored action-to-title table for niri's native
actions; an action missing from that table still shows, humanized from its
name, rather than silently dropping out.

hm-module.nix writes the catalog to a JSON file and hands it to the shell
as FJORDXY_KEYBINDS, the same JSON-over-an-env-var mechanism Apps.qml and
Theme.qml already use. KeybindsData.qml loads it; Keybinds.qml draws it as
a sixth drawer page, wired in alongside home/launcher/notify/updates via
Drawer.qml, Glyph.qml and Sidebar.qml.

Mod+Shift+Slash used to open niri's own hotkey overlay, which only ever
showed the handful of binds fjordxy set a title on directly. It now opens
this page instead, through the same spawn-into-the-running-shell shim as
Mod+G and Mod+Space (fjordxy-keybinds, wired in nix/package.nix).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HpAeUXpLaAbAd9pLszDV9k
arne merged commit 76cb888fa9 into main 2026-09-15 22:31:33 +02:00
arne deleted branch keybindings-overview 2026-09-15 22:31:33 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
bases/fjord!1
No description provided.