feat(tui-go): idle launcher — centered input + status/keys rail (Phase 1)
Replace the idle two-panel layout (session list + welcome, where the welcome panel duplicated the list) with an opencode-style launcher: a compact, centered input whose lower-right shows the launch target and model (chat by default), a hideable right rail of status + quick keys, and no session list — it's a keypress away via R. - Tab (or w) cycles the launch target: chat → workflows → chat (launcherWf), shown at the input. Enter on chat starts a chat; on a workflow, StartSession with the typed text as the brief. - Right rail (connection, session/active counts, i/Tab/R/?/p keys) hides via the new "rail" palette command. Drops automatically on narrow terminals. - View() suppresses the bottom input bar on idle (the input is the launcher); footer + ? help updated to the launcher keys (help-coverage test extended). The old idle-panel renderers (sessionRows/welcomeRows/workflowRows) are now unused but kept in the tree pending Phase 2 + a decision on where the session dates should live now that the idle list is gone. Multi-line input (Ctrl+J / Alt+Enter newline) is Phase 2. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -227,7 +227,12 @@ type Model struct {
|
||||
wfVisible bool
|
||||
wfPendingID string // workflow chosen, awaiting an intent line before StartSession
|
||||
wfPendingName string
|
||||
bgUpdates int
|
||||
// launcher (idle screen): the active "what to launch" selection — 0 = chat, 1..N =
|
||||
// workflows[i-1] — cycled with Tab and shown at the input's lower-right. railHidden
|
||||
// folds away the idle status/quick-keys rail.
|
||||
launcherWf int
|
||||
railHidden bool
|
||||
bgUpdates int
|
||||
|
||||
// input
|
||||
editMode EditMode
|
||||
|
||||
Reference in New Issue
Block a user