Skip to content

Add modifier-held tab-switcher hints for fast panel navigation #73

Description

@uzayer

Problem

Atlas’s current tab shortcuts are Cmd+Shift+[ / ] (previous/next) and Cmd+1–9 (jump to an indexed tab in the focused split). There is no Cmd/Ctrl+Tab switcher, nor any modifier-held visual affordance that tells users what to press next.

Add a compact, cmux-inspired keyboard navigation overlay: while Command on macOS or Control on other platforms is held, show tiny labels near relevant tabs/panels so users can see the available follow-up keys and switch confidently.

Investigation

  • src/App.tsx registers tab navigation only for Cmd+Shift+[ / ] and Cmd+1–9.
  • useLayoutStore.cycleTab() cycles within the focused split column.
  • src/hooks/use-hotkey.ts only reacts to complete key chords; it has no modifier keydown/keyup state or transient overlay mechanism.

Scope and acceptance criteria

  • Define platform-appropriate tab/panel switch bindings, preserving existing shortcuts and browser/native reservations.
  • Holding the configured modifier reveals a small, non-obstructive hint beside each eligible tab/panel target; releasing it immediately dismisses the hints.
  • Pressing the labelled key switches the intended target, including within split views; focus/active-column semantics are explicit.
  • The overlay is keyboard-accessible, respects reduced motion, avoids stealing focus, and does not flash from modifier usage for unrelated shortcuts.
  • Add tests for modifier lifecycle and target mapping, plus manual coverage across macOS and non-macOS key conventions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions