feat(tui): implement TUI hotkey bindings and keyboard navigation (tab, ctrl+s, ctrl+n, ctrl+w, ctrl+[, ctrl+]) #5036

Open
opened 2026-04-09 00:49:54 +00:00 by HAL9000 · 1 comment
Owner

Metadata

  • Commit Message: feat(tui): implement TUI hotkey bindings and keyboard navigation
  • Branch: feat/m8/tui-hotkeys
  • Milestone: v3.7.0
  • Parent Epic: #4963

Background and Context

The TUI needs all required hotkey bindings for navigation. These include session management, sidebar control, and general navigation keys.

Expected Behavior

  • tab / shift+tab — cycle focus between panels
  • ctrl+s — toggle sidebar state (hidden → visible → fullscreen → hidden)
  • ctrl+n — new session
  • ctrl+w — close current session
  • ctrl+[ / ctrl+] — navigate between sessions
  • F2 — open settings screen
  • Block cursor navigation works

Acceptance Criteria

  • All required hotkeys bound in MainScreen.BINDINGS
  • tab / shift+tab cycle focus correctly
  • ctrl+s cycles sidebar through 3 states
  • ctrl+n creates new session tab
  • ctrl+w closes current session tab
  • ctrl+[ / ctrl+] navigate between session tabs
  • F2 opens settings screen
  • Block cursor navigation implemented
  • Unit tests (Behave) cover hotkey scenarios

Subtasks

  • Define all hotkeys in MainScreen.BINDINGS
  • Implement ctrl+s sidebar state cycling action
  • Implement ctrl+n new session action
  • Implement ctrl+w close session action
  • Implement ctrl+[ / ctrl+] session navigation
  • Implement F2 settings screen action
  • Implement block cursor navigation
  • Tests (Behave): Add scenarios for hotkey actions
  • Verify coverage >=97% via nox -s coverage_report
  • Run nox (all default sessions), fix any errors

Definition of Done

This issue is complete when:

  • All subtasks above are completed and checked off.
  • A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly.
  • The commit is pushed to the remote on the branch matching the Branch in Metadata exactly.
  • The commit is submitted as a pull request to master, reviewed, and merged before this issue is marked done.

Automated by CleverAgents Bot
Supervisor: Epic Planning | Agent: epic-planner

## Metadata - **Commit Message**: `feat(tui): implement TUI hotkey bindings and keyboard navigation` - **Branch**: `feat/m8/tui-hotkeys` - **Milestone**: v3.7.0 - **Parent Epic**: #4963 ## Background and Context The TUI needs all required hotkey bindings for navigation. These include session management, sidebar control, and general navigation keys. ## Expected Behavior - `tab` / `shift+tab` — cycle focus between panels - `ctrl+s` — toggle sidebar state (hidden → visible → fullscreen → hidden) - `ctrl+n` — new session - `ctrl+w` — close current session - `ctrl+[` / `ctrl+]` — navigate between sessions - `F2` — open settings screen - Block cursor navigation works ## Acceptance Criteria - [ ] All required hotkeys bound in `MainScreen.BINDINGS` - [ ] `tab` / `shift+tab` cycle focus correctly - [ ] `ctrl+s` cycles sidebar through 3 states - [ ] `ctrl+n` creates new session tab - [ ] `ctrl+w` closes current session tab - [ ] `ctrl+[` / `ctrl+]` navigate between session tabs - [ ] `F2` opens settings screen - [ ] Block cursor navigation implemented - [ ] Unit tests (Behave) cover hotkey scenarios ## Subtasks - [ ] Define all hotkeys in `MainScreen.BINDINGS` - [ ] Implement `ctrl+s` sidebar state cycling action - [ ] Implement `ctrl+n` new session action - [ ] Implement `ctrl+w` close session action - [ ] Implement `ctrl+[` / `ctrl+]` session navigation - [ ] Implement `F2` settings screen action - [ ] Implement block cursor navigation - [ ] Tests (Behave): Add scenarios for hotkey actions - [ ] Verify coverage >=97% via `nox -s coverage_report` - [ ] Run `nox` (all default sessions), fix any errors ## Definition of Done This issue is complete when: - All subtasks above are completed and checked off. - A Git commit is created where the **first line** of the commit message matches the Commit Message in Metadata exactly. - The commit is pushed to the remote on the branch matching the **Branch** in Metadata exactly. - The commit is submitted as a **pull request** to `master`, reviewed, and **merged** before this issue is marked done. --- **Automated by CleverAgents Bot** Supervisor: Epic Planning | Agent: epic-planner
HAL9000 added this to the v3.7.0 milestone 2026-04-09 00:50:01 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: High — Core TUI feature required for the TUI Legendary
  • Milestone: v3.7.0
  • Story Points: 8 — XL
  • MoSCoW: Must Have — Required for TUI Legendary completion
  • Parent Epic: #4963 or #4966 (TUI Epics)

Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: project-owner

Issue triaged by project owner: - **State**: Verified - **Priority**: High — Core TUI feature required for the TUI Legendary - **Milestone**: v3.7.0 - **Story Points**: 8 — XL - **MoSCoW**: Must Have — Required for TUI Legendary completion - **Parent Epic**: #4963 or #4966 (TUI Epics) --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
cleveragents/cleveragents-core#5036
No description provided.