feat(tui): unify keyboard and mouse navigation

Declare every dashboard key as a Binding on the widget that owns it, and
generate the footer, activity tool chips and help screen from those
bindings so they cannot drift. The footer collapses to "? help · q quit"
under 80x24.

Add Home/End and PgUp/PgDn (one week) navigation, mouse-wheel selection on
the graphs, click-to-focus on every panel, and clickable footer chips.
Tab and Shift+Tab now visit only the dashboard panels.
This commit is contained in:
xavierk
2026-10-05 20:42:04 +05:30
parent 79ebb10dea
commit 6c517e4ecb
6 changed files with 669 additions and 129 deletions
+1 -1
View File
@@ -281,7 +281,7 @@ class TestLiveActivityGraph:
await pilot.pause()
header = str(graph.query_one("#live-header").render())
assert "1 intervals" in header
assert "w W/R" in str(app.query_one("#activity-tools").render())
assert "w Toggle read/write" in str(app.query_one("#activity-tools").render())
# ---------------------------------------------------------------------------