From eed9c9c1141e118e43b0055f935dd891d89bebd6 Mon Sep 17 00:00:00 2001 From: Igor Soarez Date: Tue, 20 Oct 2026 14:51:07 +0300 Subject: panel: readable everywhere, compact/full toggle, change-driven; jump shortcut - contrast: the summary used attributed-string colors (never vibrant) and the subtitles a vibrant system color, so they blended differently over light and dark desktops. the panel now uses herdr's mocha colors explicitly over a dark tint, identical on any background. - layout: compact in "when agents are waiting"; in "always" a show all / show less toggle switches to the full list (waiting, separator, rest). - rows are single-line with a trailing ellipsis instead of wrapping. - render only when the content changes, and log each render, instead of rebuilding every view every second. - --snapshot-panel renders the real panel offscreen over white and black after a different first render (stale content would show). - jump shortcut ctrl+opt+cmd+u (jump_hotkey) runs dingger focus; shortcuts are registered by id. an unedited first config file is upgraded. selftest covers the layout rules and content; e2e step 13 checks the full list, its separator, and the toggle labels. --- tests/e2e.sh | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'tests') diff --git a/tests/e2e.sh b/tests/e2e.sh index 054bd51..50d7fa7 100755 --- a/tests/e2e.sh +++ b/tests/e2e.sh @@ -292,6 +292,13 @@ if [ -x "$MENUBAR" ]; then DINGGER_TMUX_SOCKET="$SOCK" "$DINGGER" focus --client "$CLIENT" --pane "$A2" expect "A2 idle after the jump" "opt $A2 @agent_state" idle expect "panel with nothing waiting" "mb --print-panel" "Nothing waiting · ○ 4 idle" + expect "full list: every agent, then the summary with the toggle" \ + "mb --print-panel --full | cut -f1,2 | tr '\t\n' '|;'" \ + "○ idle|Deploy the widget;○ idle|pi;○ idle|Review PR 42;○ idle|pi;Nothing waiting · ○ 4 idle|[Show less ▴];" + expect "compact in Always mode offers 'Show all'" "mb --print-panel --toggle" "Nothing waiting · ○ 4 idle [Show all ▾]" + hook "$A1" working; hook "$A1" idle + expect "A1 done" "opt $A1 @agent_state" done + expect "full list separates waiting from the rest" "mb --print-panel --full | sed -n 2p" "---" else fail "menu bar binary not found at $MENUBAR" fi -- cgit v1.2.3