diff options
| -rw-r--r-- | todo.org | 49 |
1 files changed, 40 insertions, 9 deletions
@@ -55,31 +55,51 @@ Done 2026-07-01 (dotfiles aca6827): a 1.5s poll fills the active row's subtitle ** TODO [#B] Network panel: other network interfaces (tailscale, VPNs, wireguard) :feature:waybar:network: Consider displaying other relevant network info in the panel: tailscale, installed VPNs (can we turn them on/off here?), wireguard — and whatever else is in this category. Pretty big; probably deserves its own spec. Origin: roam inbox capture 2026-07-02. -** TODO [#B] Right-click date/time: ntp sync + timezone update :feature:waybar: +Initial spec written 2026-07-02: [[file:docs/design/2026-07-02-net-panel-other-interfaces-spec.org]] (DRAFT — four decisions await Craig's review before build). + +** DONE [#B] Right-click date/time: ntp sync + timezone update :feature:waybar: +CLOSED: [2026-07-02 Thu] Right-click on the date updates the clock from ntpd (or whatever keeps the clock in sync); right-click on the time runs the update-timezone script. Neither opens a terminal — both run transparently in the background. Errors surface as notifications. The module should detect whether we're online and, if not, show a message instead of running the script. Origin: roam inbox capture 2026-07-02. +Shipped 2026-07-02 (dotfiles 2f7993d). Date right-click = clock-sync (chronyc makestep behind a connectivity gate; offline/captive get explanatory notifications). Time right-click = timezone-set, rewritten to prefer WiFi geolocation (whereami → timeapi.io) over IP lookup — the hotel IP geolocated two timezones off, and ipapi.co is paywalled now (ipinfo.io is the fallback). Both promptless (sudo -n), all outcomes notify, worldclock gained signal 16 for an instant refresh. 13 new tests across clock-sync + timezone-set; live-verified on velox (WiFi path resolved Rhode Island → America/New_York correctly). + ** TODO [#B] Screenshot "view image" option :feature:hyprland: The screenshot flow should also offer a "view image" selection: saves the shot, opens it in a viewer, and puts the path on the clipboard. Origin: roam inbox capture 2026-07-02. -** TODO [#C] Collapse-triangle buttons: dimmer, inlaid styling :waybar: +** DONE [#C] Collapse-triangle buttons: dimmer, inlaid styling :waybar: +CLOSED: [2026-07-02 Thu] The triangle collapse buttons should look embedded (inlaid) and be slightly dimmed so they don't compete for eye attention with the other components. Origin: roam inbox capture 2026-07-02. -** TODO [#C] Contrast button ignores the white=on / red=off paradigm :bug:waybar: +Shipped 2026-07-02 (dotfiles 15cb93c): muted color + dark inset well + smaller glyph; hover still brightens. Hudson theme carries the same shape. Screenshot-verified. + +** DONE [#C] Contrast button ignores the white=on / red=off paradigm :bug:waybar: +CLOSED: [2026-07-02 Thu] The contrast button doesn't respect the white=on, red=off color paradigm the other waybar modules follow. Cosmetic × every time = P3. Origin: roam inbox capture 2026-07-02. -** TODO [#C] Off-state red inconsistent across waybar modules :bug:waybar: +Shipped 2026-07-02 (dotfiles 15cb93c). The "contrast button" is the auto-dim module — its ON icon (nf-fa-adjust) is the classic contrast glyph. It showed gold when on and nothing when off; now on = default silver, off = terracotta, matching every other toggle. Screenshot-verified both states. + +** DONE [#C] Off-state red inconsistent across waybar modules :bug:waybar: +CLOSED: [2026-07-02 Thu] Terracotta red isn't applied uniformly for "off": the sleep icon is a different shade than the mouse/trackpad when off, and the dim indicator doesn't show red when off at all. Cosmetic × every time = P3. Origin: roam inbox capture 2026-07-02. -** TODO [#B] Waybar volume/mic toggle like the touchpad module :feature:waybar: +Shipped 2026-07-02 (dotfiles 15cb93c + 7f1f334). The touchpad script's Pango-markup red predated the terracotta theme pass (#d47c59 vs the CSS's #cb6b4d) — unified on #cb6b4d. Dim-off now red (see the contrast task). Bonus find: waybar hands every pulseaudio instance the sink's .muted class, so a muted speaker also painted the mic red — scoped with :not(.mic) so each glyph keys on its own device. + +** DONE [#B] Waybar volume/mic toggle like the touchpad module :feature:waybar: +CLOSED: [2026-07-02 Thu] Make the volume/mic waybar component look and behave like the touchpad/mouse toggle. - Move the mic to the other side of the volume so the percentage isn't in the way. The mic and speaker icons sit the same distance apart as the hand and mouse. - One keybinding cycles the four states: volume on / mic on, volume on / mic off (red), volume off (red) / mic on, volume off (red) / mic off (red). - Move the trackpad/mouse toggle to another keybinding (discuss an open mnemonic, e.g. =d= for disable) and assign Super+M to this module (for mute). Origin: roam inbox capture. -** TODO [#C] Timer end sends no notification :bug:waybar: +Shipped 2026-07-02 (dotfiles 7f1f334). New audio-cycle script walks the four-state ring in the exact order above (wpctl-backed, explicit set-mute so the pair can't desync, 6 tests) on Super+M; live-verified the full ring on velox. Mic moved left of the speaker and hugs it via paired margins, percentage on the outside. Touchpad toggle moved to Super+Shift+I ("input devices" — d-for-disable was taken at both levels by removemaster and dim-toggle); its tooltip and tests follow. + +** DONE [#C] Timer end sends no notification :bug:waybar: +CLOSED: [2026-07-02 Thu] The end of a wtimer timer didn't fire a desktop notification. Needs reproduction to confirm frequency; priority follows the severity-by-frequency matrix once known (a reliably-missing timer-end alert would rate higher). Origin: roam inbox capture. +Root-caused 2026-07-02 (dotfiles ca35642). The pipeline works (a live 3s timer fired and persisted), but notify sent everything --urgency=normal and dunstrc delays normal-urgency popups while a fullscreen window has focus — a timer ending mid-video sat invisible until fullscreen exit. Alarms now go critical urgency, which rides the fullscreen_show_critical rule; verified CRITICAL in dunst history. The alarm sound (paplay, separate from dunst) was never affected. + ** DONE [#B] Bake captive-portal login into the net panel :feature:network: CLOSED: [2026-07-01 Wed] Make the captive-portal login a first-class net-panel feature instead of the one-off =~/.local/bin/hotel-wifi= script. When the engine sees a held portal, offer "Log in to this network" that runs the plain-DNS + clean-browser flow reversibly (disable DoT -> recover the portal URL from the redirect -> open a clean Chrome profile -> restore DoT when online). Reconcile with the existing =net portal= / =captive= helper, whose DNS-hijack-to-gateway model did NOT match the real Hyatt portal. @@ -115,15 +135,24 @@ Already implemented (verified 2026-07-01): hyprland.conf binds both =XF86AudioMi ** TODO [#B] File-manager swallow pattern :feature:hyprland: When the file manager launches another app, it should hide to a special workspace (the "swallow" pattern) and return when that process ends, rather than vanishing. Today it disappears with no signal of whether it's coming back, so the user can't tell success from failure — they should quit explicitly instead. Origin: roam inbox capture. -** TODO [#C] Keybind hints in waybar module tooltips :waybar: +** DONE [#C] Keybind hints in waybar module tooltips :waybar: +CLOSED: [2026-07-02 Thu] Every module's hover tooltip should list its keyboard shortcut(s), for discoverability. Audit the modules and add the bindings to each tooltip. Origin: roam inbox capture. -** TODO [#C] Smooth waybar expansion animation :waybar: +Shipped 2026-07-02 (dotfiles 4c32aec). Audited every module: arrows (Super+[ / Super+]), sysmon (Super+R), net (Super+Shift+N), layout (Super+Shift+←/→), menu (Super+Space / Super+Shift+Q, tooltip enabled), plus the already-hinted dim/caffeine/touchpad/mic/volume. Date/time tooltips document their new right-click actions. Workspaces/window/tray don't take custom tooltips; timer has no keybind. + +** CANCELLED [#C] Smooth waybar expansion animation :waybar: +CLOSED: [2026-07-02 Thu] The cluster expansion jumps instead of animating, and a few systray icons pop in one-by-one afterward, which reads as glitchy. Animate the expansion smoothly if waybar allows it — width transitions are limited, so feasibility is uncertain (hence [#C]). Origin: roam inbox capture. -** TODO [#C] Optional label on timer/alarm/stopwatch items :feature:waybar: +Assessed infeasible 2026-07-02: collapse works by config rewrite + SIGUSR2 reload, which rebuilds every widget — nothing survives to transition, GTK3 can't animate add/remove without Revealer (an upstream waybar change), and the tray pop-in is async StatusNotifier re-registration. Full findings + revisit conditions: [[file:docs/design/2026-07-02-waybar-expansion-animation-feasibility.org]]. + +** DONE [#C] Optional label on timer/alarm/stopwatch items :feature:waybar: +CLOSED: [2026-07-02 Thu] Let each wtimer item carry an optional short text label. The data model already supports it (=add_timer/add_alarm/add_stopwatch/add_pomodoro= all take =label=""=, and =_describe= shows =label or type=); the gap is the fuzzel-driven creation flow, which doesn't prompt for a label. Add the optional label prompt on create. Origin: roam inbox capture. +Shipped 2026-07-02 (dotfiles ca35642): =wtimer new= gained a "label (optional)" fuzzel prompt after the type/value prompts; empty keeps the unlabeled default. 2 new tests (89 total in the suite). + ** TODO [#C] Open meeting links in the browser instead of the Zoom app :feature: Route Zoom (and similar) meeting links to the browser web client rather than launching the native Zoom app — e.g. firefox/chrome extensions, or a =zoommtg://= URL handler / desktop-file override that rewrites to the web-client URL. Decide the mechanism (extension vs handler) before building. Origin: roam inbox capture. @@ -469,6 +498,8 @@ classifies a VPN-routed failure, it doesn't repair it.) :PROPERTIES: :LAST_REVIEWED: 2026-06-24 :END: +Initial spec written 2026-07-02: [[file:docs/design/2026-07-02-desktop-settings-panel-spec.org]] (DRAFT — four decisions await Craig's review before build; architecture updated to the net panel's Blueprint/GTK4 stack). + One waybar dropdown gathering the desktop toggles and sliders into a single settings panel, opened from a gear/settings glyph on the bar. Incorporate: - *Auto-dim* toggle (the =custom/dim= feature just shipped — fold in here, or keep the standalone indicator and mirror it). - *Brightness* slider (backlight, via brightnessctl). |
