feat(keyboard): multi-layout cycle bind + summer-bar language parity
All checks were successful
Check / eval (push) Successful in 2m59s
All checks were successful
Check / eval (push) Successful in 2m59s
SUPER+SHIFT+K → hyprctl switchxkblayout current next, rendered only
when the session layout has a comma — the same gate as the Waybar
language indicator. Bind data is a separate multiLayoutBinds list in
keybinds.nix (still one source); hyprland.nix and the rofi cheatsheet
gate on the identical condition, so bind and cheatsheet cannot drift.
`current` targets the focused keyboard, so per-device-overridden
boards (single layout) are a no-op.
Parity: hyprland/language (with the keyboard glyph) added to both
summer waybar.jsonc whole-swaps + #language in their CSS. Static JSON
cannot eval-gate, so on summer themes the module shows even with one
layout — parity-over-minimalism, deliberate. Found en route:
summer-night has an idle_inhibitor the generated bar lacks (reverse
gap) — folded into backlog item 13.
Also — agent/BACKLOG.md gains items 21-24 from Bernardo's Latitude
5410 hardware QA (waybar crash on theme switch + no respawn; nameless
network-menu rows; a no-update sys-rebuild; Back-everywhere audit),
queued ahead of everything; HARDWARE-QUEUE's snapshot re-test now
carries the "update to >= a47aa3a + relogin" precondition, since
findings 5/6 match the pre-polkit-agent behavior exactly.
Verified: V0 (flake check, both summer JSONs parse) + V1 both
directions (default single-layout build renders no bind; us,de via
extendModules renders bind AND cheatsheet row). V3 cycle check queued.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -21,11 +21,22 @@ QA machine), the **T14s** (webcam case).
|
||||
- [ ] **Auto-timezone** — enable from the menu; confirm geoclue finds the
|
||||
zone, `/etc/localtime` updates, and the Waybar clock refreshes
|
||||
(SIGUSR2 watcher) — also after a manual `timedatectl set-timezone`.
|
||||
- [ ] **Keyboard layout cycle bind** — with a comma layout (e.g.
|
||||
`nomarchy.keyboard.layout = "us,de"`), SUPER+SHIFT+K cycles the
|
||||
focused keyboard's layout, the Waybar `` indicator follows, and
|
||||
the row shows in the SUPER+? cheatsheet.
|
||||
- [ ] **Keyboard hotplug picker (re-verify after in-flake graduation)** —
|
||||
plug an external keyboard post-login, pick a layout in rofi, confirm
|
||||
it applies per-device only, persists in `settings.keyboard.devices`,
|
||||
and graduates into a `device{}` block on the next rebuild.
|
||||
- [ ] **Snapshots restore/rollback** — `nomarchy-menu snapshot` now opens
|
||||
- [ ] **Snapshots restore/rollback** — ⚠ PRECONDITION: update to main ≥
|
||||
a47aa3a and RELOGIN first (the polkit agent starts with the session).
|
||||
Bernardo's 2026-07-04 Latitude findings 5/6 ("btrfs-assistant still
|
||||
crashes", "menu snapshots shows nothing") match the PRE-fix behavior
|
||||
exactly: no agent → pkexec fails silently (= menu does nothing), and
|
||||
a direct unprivileged run crashes (= the libbtrfsutil bug). If either
|
||||
still reproduces ON THE FIXED BUILD after relogin, reopen BACKLOG
|
||||
item 4 as [stuck]. Then: `nomarchy-menu snapshot` now opens
|
||||
the **btrfs-assistant GUI**: a *themed* polkit prompt must appear
|
||||
(hyprpolkitagent — first on-hardware outing) and the GUI must open
|
||||
as root. Also exercise the fzf fallback in a terminal
|
||||
|
||||
Reference in New Issue
Block a user