Unify keyboard and mouse navigation #110

Open
opened 2026-10-03 02:43:02 +00:00 by xavierk · 0 comments
Owner

Goal

Make keyboard and mouse navigation discoverable and consistent: one source of truth for every action.

Scope

  • Widgets declare BINDINGS and actions. Imperative on_key handlers are removed where a binding fits.
  • Always-visible footer generated from bindings. Under 80×24 it collapses to "? help · q quit".
  • The help screen is generated from bindings, not hand-written.
  • New keys:
    • Home/End: first or last point.
    • PgUp/PgDn: jump one week.
    • Tab/Shift+Tab: visible focus ring across panels.
  • Mouse:
    • Click focuses a panel.
    • Clickable view tabs (live/day/history) and action chips (pause, resume, collect, theme, diagnostics, baseline).
    • Wheel moves the selection on graphs.
    • Click-to-inspect stays.
  • Single dashboard kept. test_no_page_navigation still holds.

Acceptance criteria

  • Pilot tests fire every binding, click, wheel and Tab-order path. They also cover the date picker and the ConfirmPause y/n keys.
  • A test asserts the help content equals the binding set.
## Goal Make keyboard and mouse navigation discoverable and consistent: one source of truth for every action. ## Scope - Widgets declare `BINDINGS` and actions. Imperative `on_key` handlers are removed where a binding fits. - Always-visible footer generated from bindings. Under 80×24 it collapses to "? help · q quit". - The help screen is generated from bindings, not hand-written. - New keys: - Home/End: first or last point. - PgUp/PgDn: jump one week. - Tab/Shift+Tab: visible focus ring across panels. - Mouse: - Click focuses a panel. - Clickable view tabs (live/day/history) and action chips (pause, resume, collect, theme, diagnostics, baseline). - Wheel moves the selection on graphs. - Click-to-inspect stays. - Single dashboard kept. `test_no_page_navigation` still holds. ## Acceptance criteria - [ ] Pilot tests fire every binding, click, wheel and Tab-order path. They also cover the date picker and the ConfirmPause y/n keys. - [ ] A test asserts the help content equals the binding set.
xavierk added the ready-for-agent label 2026-10-03 02:43:02 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: xavierk/Fenris#110