diff options
| -rw-r--r-- | todo.org | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -742,6 +742,15 @@ The world face (=settings/faces/world.html=, shipped 6afbe09) already supports b From the roam inbox (Craig, claimed 2026-07-23): the wallpaper channel switches on sunrise/sunset today (the sun-pair mode, =settings/src/settings/wallpaper.py=, location read live via whereami with a state.json cache). Add a timed-schedule mode as an alternative: fixed clock times drive the transitions rather than the solar calc. Not :solo: — the capture itself flags the missing inputs ("we'll need to know the transition times, and how many of them there are"). The count and the times are a design decision Craig owes: is it a two-image day/night flip at fixed hours, an N-way ring across the day, per-image dwell vs shared interval? The =set= channel already does fixed-interval cycling through a set, so the new part is specifically clock-anchored transition points, not just "a timer". Ask for the schedule shape at pickup, then build against the existing wallpaper.apply presenter vocabulary. +** TODO [#C] Wallpaper panel selection and scroll state :feature:dotfiles:solo: +:PROPERTIES: +:LAST_REVIEWED: 2026-07-25 +:END: +From the roam inbox (Craig, 2026-07-25). Screenshot: =~/pictures/screenshots/2026-07-25_013041.png=. Three related behaviors in the settings wallpaper panel (=settings/src/settings/wallpaper.py=): +1. Open at the wallpaper currently displayed, not the top of the list. +2. Highlight that wallpaper as selected in the scrollable pane while it shows in the preview. +3. Keep the scroll position when a picture is selected. Today selecting a picture snaps the scroll back to the top, which is the bug half of this. +Grade: minor scroll-reset defect x every panel selection = P3 = [#C]; the open-at-current and select-current behaviors are enhancements at the same level. One type tag, so filed =:feature:= with the scroll-reset called out as the bug. Solo: buildable in the settings GTK panel, agent-verifiable via headless capture plus the wallpaper.py tests, no design call — swww query gives the current wallpaper, and scroll-position preservation and row selection are standard GTK. ** DONE [#C] Floating layout — should we? :feature:hyprland: CLOSED: [2026-07-24 Fri] :PROPERTIES: @@ -1644,6 +1653,19 @@ Craig's standing checklist of everything that isn't agent-verifiable. Each child Priority and type tag added by that audit: the task carried neither, which kept the project's largest live container out of the agenda entirely. +*** Floating layout: freeze positions, border flash, exit to master +What we're verifying: cycle-layout's new floating mode freezes each window's tiled position (capture-then-restore), flashes the border bright gold on entry and exit, exits to master, and refuses an empty workspace. The dispatch logic is unit-tested against a fake hyprctl (tests/cycle-layout); this is the live geometry + timing + visual check that can't be agent-verified, since running it drives the real compositor's global layout. +- Go to a workspace holding 2-3 tiled windows in master layout. +- Cycle the layout into floating: click the waybar layout glyph (or Super+Shift+arrow) to step master -> monocle -> floating. Watch the window borders on the step into floating. +- Drag a window with Super+left-mouse. +- Cycle once more to exit floating; watch the borders again. +- Switch to an empty workspace and try to cycle into floating. +#+begin_src sh :results output +echo "state file:"; cat "${XDG_RUNTIME_DIR:-/tmp}/hypr-layout-cycle.state" 2>/dev/null || echo "(none — not floating)" +echo "windows on active workspace:"; ws=$(hyprctl activeworkspace -j | jq .id); hyprctl clients -j | jq -r --argjson ws "$ws" '.[] | select(.workspace.id==$ws) | "\(.address) floating=\(.floating) at=\(.at) size=\(.size)"' +#+end_src +Expected: entering floating flashes the border bright gold (a few blinks); every window stays exactly where master placed it, now floating and drag-able with Super+mouse; exiting flashes again and re-tiles to master (the state file is gone). On the empty workspace nothing happens — no float, no flash, no state file written. + *** Settings panel: brightness drum drags What we're verifying: the paper drums' drag gesture (a Cairo hit-test the e2e suite can't drive) maps drag distance to backing percent with the floor rules. On ratio (no backlight) the drums render dimmed and refuse the drag — that's expected, so the drag half of this test needs velox. - Open the settings panel (Super+Shift+G). |
