[PR #13617] feat(tui): consolidate status indicators to increase scroll space and add status indicator style setting #14739

Open
opened 2026-02-16 18:19:30 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/anomalyco/opencode/pull/13617

State: open
Merged: No


Problem

Current TUI has several UX issues:

  1. Not too much vertical space for scroll - status indicators and hints take extra lines
  2. Distracting status indicator - the loading indicator is overly prominent and draws attention away from content
  3. Status indicator position - status indicator is far from where the actual loading/thinking happens

Changes

  1. Move status indicator closer to dialog content - at the end of the last assistant message
  2. Add a less intrusive status indicator style (pulsating circle)"
  3. Inline status indicator with the status line - combine indicator with last request meta data element
  • When thinking is in progress: (or 'scanner' spinner) replaces the square and user sees
    ● Mode · model · esc to interrupt
  • When complete (no changes):
    ▣ Mode · model · duration
  1. Move agent/variants/commands hints to the same line as current mode and model
  2. Add switching of status indicator style into menu

Result

  • More organic and intuitive interface
  • Less distracting and annoying
  • Better use of vertical space (saves 1 line + offset, ~30-40 pixels of vertical space)

Before

Image

After

pulsating circle chat_fixed

With current indicator style:

block scanner chat_fixed

Switching indicator style in menu (diamonds scanner was found in exist code):

menu

Fixes #13622

**Original Pull Request:** https://github.com/anomalyco/opencode/pull/13617 **State:** open **Merged:** No --- ## Problem Current TUI has several UX issues: 1. **Not too much vertical space for scroll** - status indicators and hints take extra lines 2. **Distracting status indicator** - the loading indicator is overly prominent and draws attention away from content 3. **Status indicator position** - status indicator is far from where the actual loading/thinking happens ## Changes 1. Move status indicator closer to dialog content - at the end of the last assistant message 2. Add a less intrusive status indicator style (pulsating circle)" 3. Inline status indicator with the status line - combine indicator with last request meta data element - When thinking is in progress: `●` (or 'scanner' spinner) replaces the square `▣` and user sees `● Mode · model · esc to interrupt` - When complete (no changes): `▣ Mode · model · duration` 4. Move agent/variants/commands hints to the same line as current mode and model 5. Add switching of status indicator style into menu ## Result - More organic and intuitive interface - Less distracting and annoying - Better use of vertical space (saves 1 line + offset, ~30-40 pixels of vertical space) ## Before ![Image](https://github.com/user-attachments/assets/575c5a51-db5c-4ab4-bead-208ac0369ba4) ## After ![pulsating circle chat_fixed](https://github.com/user-attachments/assets/c1e1f232-441a-46fa-9400-28b69db6d2c0) With current indicator style: ![block scanner chat_fixed](https://github.com/user-attachments/assets/966c861a-507a-40d3-a9c3-112d3b995f9f) Switching indicator style in menu (diamonds scanner was found in exist code): <img width="478" height="153" alt="menu" src="https://github.com/user-attachments/assets/0eaa0fa7-924b-496c-9ab5-89dea4b66091" /> Fixes #13622
yindo added the pull-request label 2026-02-16 18:19:30 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#14739