Files
cleveragents-core/docs
freemo c129ea5098 docs(tui): add exhaustive detail for block cursor, settings, notifications, per-window hotkeys, and secondary screens
Expand the TUI specification section with comprehensive detail that was
identified as missing in a gap analysis against the original design prompt
and Toad TUI feature inventory. The flat "Global Hotkey Reference" table
is replaced with 16 per-window/overlay hotkey tables.

New specification content:

Block Cursor and Context Menu:
- Block cursor navigation (alt+up/down, space, enter)
- Floating context menu with 7 actions: copy to clipboard (c), copy to
  prompt (p), export as Markdown (e), export as SVG (v), maximize (m),
  retry (r), show raw data (d)
- New diagram: context menu popup

Conversation Block Details:
- Tool call states with 4 lifecycle phases (pending, completed collapsed,
  completed expanded, failed) and tools.expand setting (never/always/
  success/fail/both)
- Actor thought block with collapsed (max 10 lines) and expanded states
- Permission question widget with allow/reject options and queue behavior
- New diagrams: tool call states, thought block, question widget

Prompt Architecture Detail:
- History navigation with per-mode JSONL files (prompt vs shell), up/down
  at start/end of TextArea, 10K entry cap
- Key passthrough from conversation Window to prompt on printable chars
- Multiline detection (newlines, triple backticks, shift+enter)
- Shell danger detection with heuristic patterns (rm -rf, chmod 777, dd,
  fork bombs, mkfs, sudo) and configurable shell.warn_dangerous setting

Notification System:
- Flash messages (4 semantic styles: default, success, warning, error)
- Desktop notifications via notifypy (never/on-blur/always), 5 trigger
  events, low-severity suppression
- Terminal title management with VT escape sequences, state-dependent
  icons, and configurable blink on input-needed
- Sound effects (4 event sounds, graceful degradation)

Clipboard Operations:
- Auto-copy on selection (ui.auto_copy), block copy via context menu,
  pyperclip with OSC 52 fallback

Session Persistence and Resume:
- SQLite storage schema (10 columns) at ~/.local/state/cleveragents/tui.db
- 6-step resume workflow via ctrl+r or /session:import

Sessions Screen:
- New diagram: sessions modal with active + saved session sections
- Time formatting, session state indicators, keyboard bindings

Settings Screen:
- New diagram: schema-driven settings modal with search
- Complete settings schema: 7 categories, 30+ settings with types,
  defaults, ranges, and descriptions (UI, notifications, sidebar, agent,
  tools, shell, diff)

Additional Features:
- Conversation content pruning (prune_low_mark/prune_excess thresholds)
- Double-tap safety (ctrl+c 5s quit window, escape 400ms terminal exit)
- Loading states (rainbow throbber + rotating quotes alternative)
- Conversation export (JSON, Markdown, per-block SVG)
- Column width and scrollbar configuration

Per-Window Hotkey Tables (16 tables replacing 1 flat table):
- Global, MainScreen prompt, MainScreen conversation/cursor, block context
  menu, terminal focused, sidebar visible, sidebar fullscreen, reference
  picker (search + tree modes), slash command overlay, plan detail modal,
  project detail modal, persona editor modal, permissions screen, settings
  screen, sessions screen, question widget, help panel
2026-03-11 00:39:57 -04:00
..
2025-12-05 21:00:46 -05:00
2026-03-10 12:38:35 -04:00
2026-03-09 17:01:41 -04:00