diff --git a/agent/BACKLOG.md b/agent/BACKLOG.md index 23b2e0f..33f79ff 100644 --- a/agent/BACKLOG.md +++ b/agent/BACKLOG.md @@ -263,13 +263,6 @@ mime defaults (item 8's `xdg.mimeApps` surface) so audio/video files open in them. (mpv already the video default per HARDWARE-QUEUE — confirm and extend to audio; pick the audio player.) -### 38. Capture-to-file keybinds -(Raised by Bernardo, 2026-07-07 — item 8.) Add binds for "capture region -→ file" and "capture screen → file" (distinct from the existing -clipboard/recording capture flows), landing PNGs in ~/Pictures. Add to -`keybinds.nix` (single source → Hyprland + the SUPER+? cheatsheet) and -the Capture menu; reuse the existing grim/slurp plumbing. - ### 41. Floating-window audit (Raised by Bernardo, 2026-07-07 — item 11.) Decide which windows should open floating by default (config dialogs, pavucontrol, file-chooser diff --git a/agent/HARDWARE-QUEUE.md b/agent/HARDWARE-QUEUE.md index 6e0bc61..5fca39f 100644 --- a/agent/HARDWARE-QUEUE.md +++ b/agent/HARDWARE-QUEUE.md @@ -236,6 +236,11 @@ QA machine), the **T14s** (webcam case). unchanged (the bar still reserves its space). Accepted trade-off of `layer: bottom`: a floating window dragged over the top strip can now overlap the bar — confirm that's the only regression. +- [ ] **Capture-to-file keybinds** (iteration #59, item 38) — after + `home-update` + relogin: SHIFT+Print prompts a region select then + 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+?. - [ ] **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 5b71ac9..93716e5 100644 --- a/agent/JOURNAL.md +++ b/agent/JOURNAL.md @@ -17,6 +17,19 @@ Template: --- +## 2026-07-07 — Capture-to-file keybinds (iteration #59, item 38) +- **Task:** BACKLOG item 38 — direct keybinds for region→file and + screen→file (the Capture *menu* already had both "→ file" rows). +- **Fix:** `modules/home/keybinds.nix` — added `SHIFT+Print` (region→file) + and `CTRL+Print` (screen→file) alongside the existing bare `Print` + (region→clipboard). Each saves a timestamped PNG under + ~/Pictures/Screenshots and toasts the path — same grim/slurp plumbing + + dir the menu's "→ file" rows use. Single-source, so the SUPER+? + cheatsheet (rofi.nix reads the same list) gets both rows automatically. +- **Verified:** V0 green. `nix eval` of the rendered binds confirms + `$HOME`/`$f`/`$(...)` pass through literally to the shell (no Nix + interpolation). Actual key-firing + file landing is a V3 check (queued). + ## 2026-07-07 — rofi search mis-ranks + power-profile icons (iteration #58, items 31 & 39) - **#31 (rofi search broken):** Bernardo ran the live A/B — `-sorting-method normal` and `-matching normal` both fixed "steam"→Steam; `-no-sort` did diff --git a/modules/home/keybinds.nix b/modules/home/keybinds.nix index 91484ef..5563001 100644 --- a/modules/home/keybinds.nix +++ b/modules/home/keybinds.nix @@ -59,8 +59,13 @@ { mods = "$mod"; key = "K"; action = "movefocus, u"; desc = "Focus up"; } { mods = "$mod"; key = "J"; action = "movefocus, d"; desc = "Focus down"; } - # Screenshot region to clipboard (the menu's Capture module has more). + # Screenshots (the menu's Capture module has the rest: OCR, recording). + # Bare Print → region to clipboard; the two → file binds save a + # timestamped PNG under ~/Pictures/Screenshots and toast the path, the + # same plumbing the Capture menu's "→ file" rows use. { mods = ""; key = "Print"; action = "exec, grim -g \"$(slurp)\" - | wl-copy"; desc = "Screenshot region → clipboard"; } + { mods = "SHIFT"; key = "Print"; action = "exec, f=$HOME/Pictures/Screenshots/$(date +%Y%m%d-%H%M%S).png; mkdir -p $HOME/Pictures/Screenshots && grim -g \"$(slurp)\" \"$f\" && notify-send \"Screenshot saved\" \"$f\""; desc = "Screenshot region → file"; } + { mods = "CTRL"; key = "Print"; action = "exec, f=$HOME/Pictures/Screenshots/$(date +%Y%m%d-%H%M%S).png; mkdir -p $HOME/Pictures/Screenshots && grim \"$f\" && notify-send \"Screenshot saved\" \"$f\""; desc = "Screenshot screen → file"; } ]; # Rendered only when the session has >1 layout (a comma in