Skip to content

Improve header-line: activity phases, git branch, layout redesign#121

Open
dnouri wants to merge 2 commits intomasterfrom
improve-header-line
Open

Improve header-line: activity phases, git branch, layout redesign#121
dnouri wants to merge 2 commits intomasterfrom
improve-header-line

Conversation

@dnouri
Copy link
Owner

@dnouri dnouri commented Feb 11, 2026

Summary

Replace the braille spinner with semantic activity labels, reorganize the header-line layout, add git branch display, and support setWorkingMessage from extensions.

  • Replace Spinner with Semantic Activity Phases
  • Header-Line Redesign — Layout, Git Branch, Working Message

Changes

  1. Activity phases: Show thinking/replying/running/compact/idle instead of animating braille dots. Fixed 8-char slot prevents layout jumping. Event-driven phase transitions replace the global 100ms spinner timer.

  2. Header-line layout redesign: Reorganize into four collapsing groups separated by — each pipe only appears when its group has content:

    [model • thinking activity] │ [stats] │ [branch · session] │ [ext-status · working-msg]
    
  3. Git branch: Show current branch via vc-git--symbolic-ref, cached and refreshed on agent_end. Grouped with session name as project context.

  4. setWorkingMessage handler: Extensions can show transient activity messages (e.g., "📖 Skimming the source…") in the header-line. Handler is ready; waiting on upstream pi-mono PR to emit the event over RPC.

References

@dnouri
Copy link
Owner Author

dnouri commented Feb 11, 2026

As per discussion with @SayreBlades, we'll get rid of the Git branch name in the header-line.

Unclear if we wanna replace the braille spinner with activity only (e.g. thinking)? There'd be no real animation for when Pi is busy, but then it would be easy enough to spot the idle activity and know that it's not doing any work.

@dnouri
Copy link
Owner Author

dnouri commented Feb 11, 2026

This TODO file should be useful for the implementation. However it doesn't contain the updated requirement with regard to Git branch name, for instance: TODO-improve-header-line.md

2026-02-11

Replace braille spinner state with semantic activity labels in the
header line. Add a buffer-local phase variable and face, then route
phase updates through `pi-coding-agent--set-activity-phase` across
render, menu compaction, and abort-send paths.

Remove legacy spinner timer/global state and update tests to assert
phase transitions and fixed-width phase rendering. Refresh menu and
reset tests to cover idle phase reset behavior.
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.

2 participants