diff --git a/agent/HARDWARE-QUEUE.md b/agent/HARDWARE-QUEUE.md index 3ac0db8..a8c6a35 100644 --- a/agent/HARDWARE-QUEUE.md +++ b/agent/HARDWARE-QUEUE.md @@ -271,6 +271,10 @@ QA machine), the **T14s** (webcam case). saves a PNG under ~/Pictures/Screenshots (toast shows the path); CTRL+Print saves the whole screen the same way; bare Print still copies a region to the clipboard. Both new rows appear in SUPER+?. + Also (iteration #66): Tools ▸ Capture now shows the matching dim key + hint on the Region → clipboard / Region → file / Full screen → file + rows (Print / SHIFT + Print / CTRL + Print) — pango renders, no raw + `` leaks. - [ ] **rofi menu polish** (iteration #58, item 39 + #56/#57 34/40) — after `home-update`: (a) menu › System › Power profile shows a colored icon per profile (performance/balanced/power-saver), not diff --git a/agent/JOURNAL.md b/agent/JOURNAL.md index 29f4a7c..f7460f3 100644 --- a/agent/JOURNAL.md +++ b/agent/JOURNAL.md @@ -17,6 +17,31 @@ Template: --- +## 2026-07-08 — Capture rows show Print-key hints (iteration #66, direct requests) +- **Task:** Two live requests from Bernardo. (1) Fold his provided + power-menu mockup into item 36(b). (2) "make sure all menu items that + have a keybind display the keybind" (he dropped the flush-right ask — + inline is fine). +- **Did:** (1) BACKLOG item 36(b) un-gated — mockup + Nomarchy adaptation + (reuse batterylimit/power-profile writers, not raw TLP; wire the Waybar + battery `on-click`; one open call: replace-or-keep the System rows). + (2) Audited every menu/submenu: all SUPER(+CTRL) module-opening rows + already carry a hint (item 28c). The one real gap = the Tools ▸ Capture + rows, which run the exact `grim` commands of the Print / SHIFT+Print / + CTRL+Print binds but showed nothing. Added `hintForBind mods key` (reads + keybinds.nix by mods+key, drift-free) → hints on the three matching rows, + and `-markup-rows` on the Capture menu so the spans render. +- **Verified:** V0 `nix flake check --no-build` green; V1 HM built, shipped + nomarchy-menu shows `Region → clipboard {{Print}}`, `Region → file + {{SHIFT + Print}}`, `Full screen → file {{CTRL + Print}}` under + `-markup-rows`. Substring `case` matches sit before the appended span, so + dispatch is unaffected (same proven pattern as Tools/System). +- **Pending:** V3 — pango dim actually rendering in the Capture submenu + (queued on the existing Capture entry). Power-menu item 36(b) stays + `[human]` on the replace-or-keep call. +- **Next suggestion:** back to the queue head (item 36a done; 32 done) — + next actionable is likely item 33 (rofi scrollbar) or a QA sweep. + ## 2026-07-08 — SUPER+? cheatsheet re-fixed: base keysym (iteration #65, item 32) - **Task:** BACKLOG item 32 — SUPER+? still didn't open the cheatsheet after item 26's fix. Re-diagnose. diff --git a/modules/home/rofi.nix b/modules/home/rofi.nix index 90e15d4..c52fed9 100644 --- a/modules/home/rofi.nix +++ b/modules/home/rofi.nix @@ -158,6 +158,14 @@ let menuHint = module: hintForAction "exec, nomarchy-menu ${module}"; # Apps opens rofi drun directly, not a nomarchy-menu module. appsHint = " SUPER + D"; + # A menu row that runs the same op as a global bind whose action isn't a + # `nomarchy-menu` module (the Capture rows ↔ the Print screenshot keys): + # match on mods+key so the hint still reads from keybinds.nix (single + # source, no drift), rather than a brittle full-action-string compare. + hintForBind = mods: key: + let m = lib.filter (b: b.mods == mods && b.key == key) keybinds.binds; + in lib.optionalString (m != [ ]) + " ${prettyKeys (lib.head m)}"; nomarchy-menu = pkgs.writeShellScriptBin "nomarchy-menu" '' # Nomarchy menu dispatcher — thin presentation layer over @@ -400,10 +408,10 @@ ${themeRows} # Screenshots + screen recording. Recording rows self-swap: while # one runs, the only offer is Stop (same surface as the bar's ⏺). choice=$( { - row "Region → clipboard" applets-screenshooter - row "Region → file" applets-screenshooter + row "Region → clipboard${hintForBind "" "Print"}" applets-screenshooter + row "Region → file${hintForBind "SHIFT" "Print"}" applets-screenshooter row "Full screen → clipboard" camera-photo - row "Full screen → file" camera-photo + row "Full screen → file${hintForBind "CTRL" "Print"}" camera-photo command -v tesseract >/dev/null 2>&1 && row "OCR region → clipboard" scanner if command -v nomarchy-record >/dev/null 2>&1; then if nomarchy-record active; then @@ -416,7 +424,7 @@ ${themeRows} fi fi back - } | rofi -dmenu -show-icons -p Capture) || exit 0 + } | rofi -dmenu -show-icons -markup-rows -p Capture) || exit 0 dir="$HOME/Pictures/Screenshots" file="$dir/$(date +%Y%m%d-%H%M%S).png" case "$choice" in