Skip to content

feat(ui): replace fleet-view bullets with cleaner Unicode characters#122

Open
thaitryhand wants to merge 2 commits into
tintinweb:masterfrom
thaitryhand:feat/cleaner-ui-indicators
Open

feat(ui): replace fleet-view bullets with cleaner Unicode characters#122
thaitryhand wants to merge 2 commits into
tintinweb:masterfrom
thaitryhand:feat/cleaner-ui-indicators

Conversation

@thaitryhand

@thaitryhand thaitryhand commented Jul 2, 2026

Copy link
Copy Markdown

Summary

Replaces rough/dated Unicode characters in the FleetView bullet indicators with cleaner, more modern alternatives. Also includes a companion extension for further UI customization.

Changes

1. FleetView bullets (src/ui/fleet-list.ts)

Before After Description
⏺ main (U+23FA) ◉ main (U+25C9) Active bullet: circle with inner dot — radio-button style, cleaner
◯ Explore (U+25EF) ○ Explore (U+25CB) Inactive bullet: regular white circle — proper size, better fitting
main (plain) main (bold) Selected label now bold for visual hierarchy

Why: (BLACK CIRCLE FOR RECORD) is a niche Unicode symbol that looks out of place in a terminal UI. (U+25EF, LARGE CIRCLE) is disproportionately large compared to surrounding text. The new pair / follows standard radio-button visual language — the filled inner dot clearly indicates the active/selected state while keeping both symbols the same visual weight.

2. Companion extension (examples/extensions/subagents-ui.ts)

A separate optional extension that provides:

  • Custom working indicator (· • ● • pulsing dot animation) when subagents are active
  • Clean status bar entry (◈ N subagents active)
  • Switchable via /subagents-ui dot|arc|minimal|none|reset

3. Restore script (examples/extensions/patch-subagents-ui.sh)

A shell script to re-apply changes after package updates.

Testing

  • FleetView renders correctly across all agent states (running, queued, completed)
  • No visual regressions
  • All keyboard interactions preserved (↑↓ navigate, Enter open, Esc close)

Checklist

  • Changes are in TypeScript source files (src/) — no compiled output changes
  • All existing functionality preserved
  • No breaking changes to the extension API or tool interfaces

… Unicode characters

- Replace braille spinner frames (⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏) with smooth
  quarter-circle arc characters (◜◠◝◟◡◞) for a cleaner animated indicator
- Replace fleet-view selection bullets: ⏺ → ◉ (selected), ◯ → ○ (unselected)
  for a radio-button style visual hierarchy
- Make the 'main' label bold when selected for better visual distinction

The braille characters were visually noisy and dated; the new arc spinner
is smoother with fewer frames (6 vs 10). The bullet change follows
standard radio-button UI patterns for clarity.
@thaitryhand thaitryhand force-pushed the feat/cleaner-ui-indicators branch from 23d2f0b to c2af590 Compare July 2, 2026 05:16
@thaitryhand thaitryhand changed the title feat(ui): replace braille spinner and fleet-view bullets with cleaner Unicode characters feat(ui): replace fleet-view bullets with cleaner Unicode characters Jul 2, 2026
… UI indicators

- Add subagents-ui.ts: companion extension that customizes the working
  indicator (· • ● • pulsing dot) and status bar (◈ N subagents active)
  when subagents are running. Supports /subagents-ui command to switch
  between dot, arc, minimal, none, and reset modes.
- Add patch-subagents-ui.sh: restore script to re-apply FleetView bullet
  changes after package updates, since they modify source files directly.
@thaitryhand thaitryhand changed the title feat(ui): replace fleet-view bullets with cleaner Unicode characters feat(ui): replace braille spinner and fleet-view bullets with cleaner Unicode characters Jul 2, 2026
@thaitryhand thaitryhand force-pushed the feat/cleaner-ui-indicators branch from 7580963 to 717fcec Compare July 2, 2026 05:29
@thaitryhand thaitryhand changed the title feat(ui): replace braille spinner and fleet-view bullets with cleaner Unicode characters feat(ui): replace fleet-view bullets with cleaner Unicode characters Jul 2, 2026
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