Skip to content

Replace the opencode command modal with an anchored console#25

Merged
luckeyfaraday merged 3 commits into
mainfrom
feat/anchored-command-console
Jun 15, 2026
Merged

Replace the opencode command modal with an anchored console#25
luckeyfaraday merged 3 commits into
mainfrom
feat/anchored-command-console

Conversation

@luckeyfaraday

Copy link
Copy Markdown
Owner

Why

The leader-key menu was the last surface still pure upstream opencode: a centered, scrim-backed fuzzy-list modal titled "Commands". Against the terminal command-log home screen and transcript, teleporting into a floating dead-center modal is the jarring "still reeks of opencode" moment.

Scope agreed with the user: anchored console + new style + intent grouping. The prefix router (@ sessions / # memory / / files) is a deliberate later phase.

What changed

ui/dialog.tsx (the only patch hunk) — gave the shared Dialog container anchor?: "center" | "bottom" + scrim?: boolean options. Defaults are unchanged, so every other dialog is untouched. Bottom-anchored + no scrim drops the centered-modal posture and lets the panel rise flush from the prompt, while reusing the existing escape / focus / mode-stack handling.

overlay/.../component/command-palette.tsx — overlay-replaces upstream wholesale (same CommandPaletteDialog export ⇒ no wiring hunk needed). The console:

  • Gold AC › sigil header (uses athenaTerminalPrefix), terminal-log voice.
  • Commands grouped by Athena intentrecall · steer · weave · workspace · system — mapping upstream categories (Session→recall, Agent/Model/Provider→steer, Prompt/Skills→weave, Workspace/VCS→workspace, rest→system). Recall leads.
  • A gold caret marks the selection instead of a filled primary block bar.
  • Same command set, dispatch, fuzzy filter, and keyboard nav as before.

dialog-select.tsx is untouched.

Verification

  • ✅ TUI typecheck clean (tsgo)
  • ✅ Full single-binary build — smoke test passed
  • ✅ Patch git apply --check applies cleanly

⚠️ Not visually verified in a live TUI (no terminal in the build env). The bottom-anchored panel overlapping the prompt zone should be eyeballed via tmux capture-pane -p before merge.

🤖 Generated with Claude Code

luckeyfaraday and others added 3 commits June 15, 2026 18:01
The leader-key menu was the last surface still pure upstream: a centered,
scrim-backed fuzzy-list modal titled "Commands", jarringly off-brand against
the terminal command-log home/transcript.

Reskin it as an anchored console that rises flush from the prompt:

- ui/dialog.tsx: give the shared Dialog container anchor ("center" | "bottom")
  and scrim options (defaults unchanged, so every other dialog is untouched).
  Bottom-anchored + no scrim drops the centered-modal posture while reusing the
  existing escape/focus/mode-stack handling.
- overlay command-palette.tsx: replaces upstream wholesale (same export, no
  wiring hunk). Gold "AC ›" sigil header, commands grouped by Athena intent
  (recall · steer · weave · workspace · system) instead of raw opencode
  categories, and a gold caret marks the selection rather than a filled block.
  Same command set, dispatch, fuzzy filter and keyboard nav.

dialog-select.tsx is untouched. Verified: TUI typecheck clean, full single
binary build smoke-passed, patch applies cleanly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The inline command/file autocomplete (typed with "/" or "@") still used the
filled gold block-bar selection from upstream opencode. Bring it in line with
the new command console: a gold ❯ caret marks the selection with accent-bold
text, no filled block. Removes the now-unused selectedForeground import.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Drop the popup's thick ┃ side bars (SplitBorder) and switch its fill from
backgroundMenu to backgroundPanel, so the inline autocomplete reads as the
same borderless panel surface as the Ctrl+P command console rather than a
distinct bordered menu.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@luckeyfaraday luckeyfaraday merged commit e6b789f into main Jun 15, 2026
2 checks passed
@luckeyfaraday luckeyfaraday deleted the feat/anchored-command-console branch June 15, 2026 16:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant