aboutsummaryrefslogtreecommitdiff
path: root/todo.org
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-19 11:27:48 -0400
committerCraig Jennings <c@cjennings.net>2026-06-19 11:27:48 -0400
commitbe766471a40e6239540c35b25384508bb2864c79 (patch)
treea9c50fff3270226f38c8243b9451c82fafc49a62 /todo.org
parent895062022679fe73e28147fafd7e8402357147b5 (diff)
downloadarchsetup-be766471a40e6239540c35b25384508bb2864c79.tar.gz
archsetup-be766471a40e6239540c35b25384508bb2864c79.zip
docs: spec out collapsible waybar sidesHEADmain
A spike disproved the CSS / state-file approach. GTK3 has no display:none, so native modules go invisible but hold their space, and the bar never reflows. The mechanism is config-swap plus a SIGUSR2 reload, driven through an active config copied into XDG_RUNTIME_DIR so the toggle never rewrites the stowed canonical config. The spec locks the base sets (left: menu + workspaces; right: date + worldclock + tray), keeps the two sides independent, and stays host-agnostic: the base set is constant, the full set is whatever each host already defines. Spec and spike findings live under working/.
Diffstat (limited to 'todo.org')
-rw-r--r--todo.org5
1 files changed, 2 insertions, 3 deletions
diff --git a/todo.org b/todo.org
index a71fd3c..196b882 100644
--- a/todo.org
+++ b/todo.org
@@ -105,10 +105,9 @@ Implementation notes (to flesh out when picked up): waybar =custom= module(s) wi
:END:
Let either side of the waybar collapse horizontally to a minimal base set, toggled by a click. Each collapsible side carries a small triangle / arrowhead pointing toward the screen edge it collapses into (away from center). Clicking it collapses that side to its base set and flips the arrow to point back toward center; clicking again restores the full side. Same shape-changes-with-state idea as the auto-dim indicator.
-- *Right-side base set* (proposed): the date/time, optionally plus the systray. Everything else on the right (sysmonitor group, netspeed, pulseaudio, the toggles) hides.
-- *Left-side base set*: TBD (workspaces only, or menu + workspaces).
+Spec ready (2026-06-19): [[file:working/collapsible-waybar-sides/collapsible-waybar-sides-spec.org]]. Spike settled the mechanism: [[file:working/collapsible-waybar-sides/spike-findings.org]].
-Implementation notes: waybar has no native per-side collapse, so this is custom. Options to explore: (a) swap between a full and a collapsed waybar config on click via a signal/exec, (b) rewrite the modules array and reload (heavy), (c) a state file the modules read to hide/show a group via CSS. Likely a state file (=$XDG_RUNTIME_DIR=) + per-side toggle scripts + a targeted waybar refresh, mirroring the existing custom-module + signal pattern. Lives in the dotfiles repo (=hyprland/.config/waybar/= + =hyprland/.local/bin/=). TDD the toggle scripts per the dotfiles suite.
+Decisions locked: right base set = date + worldclock + tray; left base set = menu + workspaces; per-side independent; host-agnostic (base set constant, full set is each host's existing config). Mechanism = config-swap + SIGUSR2 reload via an active-config copy in =$XDG_RUNTIME_DIR= (the CSS/state-file approach was disproven — GTK3 can't reflow-hide native modules). Lives in =~/.dotfiles/hyprland/=. Next: implement per the spec (TDD the toggle + arrow scripts).
** TODO [#B] Network-manager dropdown, nmcli-backed with GPG-stored secrets :waybar:network:
:PROPERTIES: