diff options
| author | Craig Jennings <c@cjennings.net> | 2026-07-05 00:49:27 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-07-05 00:49:27 -0500 |
| commit | 0af88d35a6f22c11e346970bec356bae0b74d4a2 (patch) | |
| tree | 34f520f82309b139018924118925f0563381e109 /todo.org | |
| parent | 157d0ce5943215b7c29e5f124336af562a4fdb2b (diff) | |
| download | archsetup-0af88d35a6f22c11e346970bec356bae0b74d4a2.tar.gz archsetup-0af88d35a6f22c11e346970bec356bae0b74d4a2.zip | |
docs(todo): timer panel shipped — spec IMPLEMENTED, task closed, manual tests filed
The timer GTK panel built and shipped to dotfiles (4 commits). Flipped the spec to IMPLEMENTED, closed the Timer GTK panel task, and filed the live-verification checklist (bar-opens-panel, create/validate, fire-time sort, pause/cancel/promote, stopwatch lap/stop/save, 10-cap + live countdown) under Manual testing and validation.
Diffstat (limited to 'todo.org')
| -rw-r--r-- | todo.org | 43 |
1 files changed, 37 insertions, 6 deletions
@@ -198,13 +198,11 @@ From the 2026-07-04 roam capture. The waybar collapse mechanism (click the trian :END: Follow-up from the 2026-07-04 net-panel hardening speedrun (Craig's cj question on the no-WiFi item). The shipped no-wifi-hardware verdict covers "no adapter at all." This tier covers "adapter present but the driver is wedged": read-only health signals — =ip link= (device present but no-carrier / down), =dmesg= / =journalctl -k= for firmware-load failures, =rfkill= for a hard block, =modinfo= / =lsmod= for the driver module — classified before a generic reset. Remedy actions: a privileged =modprobe -r <mod> && modprobe <mod>= reload of the wifi driver, and a firmware-package pointer when the failure is a missing/failed firmware load. Dotfiles net-package work (handled per the archsetup-owns-dotfiles rule). Design pass first to decide whether it's worth a repair tier vs a needs-user-action pointer. -** TODO [#B] Timer GTK panel :feature:waybar: -:PROPERTIES: -:LAST_REVIEWED: 2026-07-02 -:END: -Initial spec written 2026-07-02: [[file:docs/specs/2026-07-02-timer-panel-spec.org]] (DRAFT — four decisions await Craig's review before build; net-panel Blueprint/GTK4 stack, wtimer stays the state owner). +** DONE [#B] Timer GTK panel :feature:waybar: +CLOSED: [2026-07-05 Sun] +Built and shipped to dotfiles 2026-07-05 in a no-approvals speedrun (4 commits =1f4f270=..=78d3cbb=): wtimer gained watch/lap/save; a new =timer/= package holds a GTK-free PanelModel (62 tests) and the GTK instrument-console panel; the bar's =custom/timer= now opens the panel and the fuzzel creation flow retired. Spec: [[file:docs/specs/2026-07-02-timer-panel-spec.org]] (IMPLEMENTED). Code-complete; live GTK verification filed under Manual testing and validation below. -From Craig's roam capture 2026-07-02: give the timer a GTK UI/UX like the network panel. +From Craig's roam capture 2026-07-02: give the timer a GTK UI/UX like the network panel. Scope expanded via a later cj comment (queue/output-wall auto-sorted by fire time, stopwatch lap/stop + saveable runs, 5/25 configurable defaults, up to 10 timers, widget-gallery elements) — folded into the spec's Build scope and shipped. ** TODO [#B] Desktop-settings dropdown panel :waybar: :PROPERTIES: @@ -609,6 +607,39 @@ Parse yay errors and provide specific, actionable fixes instead of generic error Enhance existing indicators to show what's happening in real-time ** TODO Manual testing and validation +*** Timer panel: apply the new package + configs, then reboot (precondition for the timer tests) +What we're verifying: the new =timer/= package, the =timer= / =timer-panel= bin shims, and the waybar + hyprland edits are live. New files need a restow (a plain =git pull= doesn't symlink them). Quit Hyprland or run from a TTY. +#+begin_src sh :results output +cd ~/.dotfiles && git pull && make restow hyprland +#+end_src +Then reboot (picks up the float rule, the 2px border, the Super+P/Shift+P + Control_R keybinds, and the bar rewire). +*** Timer panel opens from the bar, fuzzel retired +What we're verifying: the bar module opens the GTK panel, not the old fuzzel menu. +- Click the timer module on the bar. +Expected: the instrument-console timer panel opens floating, top-right; the old fuzzel type-menu does not appear. +- Press q or Escape. +Expected: the panel closes. +*** Create a timer (preset + freeform validation) +- Open the panel, pick the timer type, click the 5m chip, click +. +Expected: a 5:00 timer appears in the queue and counts down live. +- Type a bad value (e.g. "xyz") in the freeform entry. +Expected: an inline reject reason shows and + is blocked; a valid value (e.g. "25m") adds on +. +*** Queue auto-sorts by fire time +- Add a 25m timer, then a 5m timer, then an alarm a few minutes out. +Expected: the queue orders soonest-first (5m above 25m; the alarm placed by its fire time). +*** Per-item controls: pause / cancel / promote +- On a running timer: pause then resume; cancel; click the row to promote. +Expected: pause freezes the value and resume continues; cancel removes it; promote makes it the bar's primary glyph. +*** Stopwatch lap / stop / save +- Add a stopwatch, hit Lap two or three times (name one lap via the popover), then Stop. +Expected: laps record; Stop saves the run. Then: +#+begin_src sh :results output +cat ~/org/stopwatch-runs.org +#+end_src +Expected: an org heading for the run with a lap table (split / cumulative / optional name). +*** 10-item cap + live countdown +- Queue items until 10 exist. +Expected: + disables with a reason at 10; running countdowns advance live in the panel (the wtimer watch subscription). *** Audio panel: apply the new shims + configs (precondition for the tests below) What we're verifying: the new =audio=/=audio-panel=/=waybar-audio= bin shims and the hyprland.conf + waybar config edits are live. New files need a restow (a plain =git pull= doesn't symlink them). Quit Hyprland or run from a TTY — restowing live Hyprland writes a stub hyprland.conf. #+begin_src sh :results output |
