From b248644109b79d91c3f2a8603cbaefaca05ced81 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Mon, 29 Jun 2026 16:50:15 -0400 Subject: docs: add unified waybar network module design spec The wifi-no-internet indicator, the nmcli network-manager dropdown, and the captive-portal diagnostics are one feature, so the spec designs them as a single custom/net module instead of three. It splits into three layers: a tested Python net engine wrapping nmcli plus the diagnostics, a thin bar indicator, and a GTK4 layer-shell panel. The captive script becomes the diagnostics engine. It records the locked decisions (panel toolkit, split probe cadence, GPG store supplements NetworkManager, librespeed for speed test) and a four-phase plan, indicator first. I linked it from both todo tasks. --- todo.org | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'todo.org') diff --git a/todo.org b/todo.org index 729cb98..c1279a9 100644 --- a/todo.org +++ b/todo.org @@ -103,6 +103,8 @@ Design / open questions (propose before building): Implementation notes: backing scripts in the dotfiles repo (hyprland tier); nmcli for every NM op (device status, con up/down, add/modify/delete, wifi rescan/list). TDD the nmcli-wrapper logic with a fake nmcli on PATH. Sizable — worth a =docs/design/= doc before implementation. +Design doc: [[file:docs/design/2026-06-29-waybar-network-module-spec.org][2026-06-29-waybar-network-module-spec.org]] — unified with the =[#C]= wifi-state + diagnostics task into one =custom/net= module (engine + indicator + GTK4 layer-shell panel). This is Phase 2 (panel + connection management) and Phase 4 (GPG store). The =captive= script becomes the diagnostics engine. + ** TODO [#B] Desktop-settings dropdown panel :waybar: :PROPERTIES: :LAST_REVIEWED: 2026-06-24 @@ -576,6 +578,8 @@ From the roam inbox: the Waybar Wi-Fi module should distinguish "connected to an A 2026-06-22 roam capture expands the scope past a passive indicator: the wifi module should also bounce the network, run basic diagnostics, and optionally run a speed test with results — surfaced through modifier clicks (ctrl/super/meta) on the module. The no-internet state is the indicator; this adds active remediation off the same component. +Design doc: [[file:docs/design/2026-06-29-waybar-network-module-spec.org][2026-06-29-waybar-network-module-spec.org]] — unified with the =[#B]= network-manager dropdown into one =custom/net= module. This is Phase 1 (indicator + cheap captive probe). Note: waybar can't qualify clicks by keyboard modifier, so the rich actions live in the dropdown panel, not ctrl/super/meta-clicks. + ** TODO [#C] Waybar emacs-service status + control :feature:waybar: :PROPERTIES: :LAST_REVIEWED: 2026-06-24 -- cgit v1.2.3