diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index e3497c5..b1d181e 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -88,6 +88,25 @@ how to override it. Items marked ✓ are shipped. green inputbar, yellow bottom-border). Remaining: author `.rasi` identities for the other four ported themes if/when they want one (the generated palette theme is the default and looks fine) +- **Visual theme picker (preview thumbnails):** replace the plain-text theme + list in `nomarchy-menu theme` with a rofi **icon grid of real desktop + previews** — each theme shown as a screenshot of its themed desktop (waybar + + a floating terminal), name beneath, the active theme marked, with the + `↩ Back` entry. **Workflow:** Bernardo captures the previews on real + hardware and commits them as `themes//preview.png`; a build-time + derivation downscales each to a small thumbnail (imagemagick), and the + picker loads it as the rofi element icon — rofi already renders image files, + which is how the Papirus menu icons work, so a `.png` path in the icon slot + Just Works. Grid layout via a per-invocation `-theme-str` (`listview { + columns; }` + a larger `element-icon`). Graceful fallback when a theme has + no `preview.png` yet: its wallpaper (`backgrounds/`), an accent swatch, or + the plain name — so it degrades cleanly as previews are added incrementally. + (A headless VM-render route — `runNixOSTest` + software-GL Hyprland + (`LIBGL_ALWAYS_SOFTWARE` on virtio-gpu) + `machine.screenshot()` QMP + framebuffer dump — was prototyped 2026-06-19 and **works** (themed waybar + rendered + captured); real-hardware capture was chosen for fidelity + + simplicity, with the VM route as a documented fallback if hand-capturing all + themes gets tedious.) - **Faster switches:** move `backgrounds/` out of the flake source (the 86 MB re-copy on every state write is the main eval tax), then pre-built theme variants if still needed