add ClidePane primitive + focus-driven status-bar slot

Replace the MessageBus-based pane-context slot with a focus-driven one.
Panes keep their status widget locally; the FocusTracker holds the
focused pane's widget (activeStatusWidget) and ClidePane conveys it to
the shared slot only while its contribution is focused, re-conveying on
change and clearing on blur. The status-bar item just renders
focus.activeStatusWidget, height-clamped and marquee-scrolled when it
overflows. Removes the publish/subscribe race the bus version had.

T-150.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-23 11:23:30 +02:00
co-authored by Claude Opus 4.7
parent 9590f555c9
commit 478cff6050
13 changed files with 492 additions and 116 deletions
+5 -4
View File
@@ -18,10 +18,11 @@ heading, and (b) bumping `pubspec.yaml` `version:` in the same commit.
### Added
- Per-session status in the bottom status bar (T-145) — the active
Claude pane publishes its model · permission mode (accept-edits /
plan / …) · context-token count to a status-bar context slot, swapping
to the focused pane on tab switch. Context is a token count, not a %
- Per-session status in the bottom status bar (T-145, T-150) — the
active Claude pane shows its model · permission mode (accept-edits /
plan / …) · context-token count in a status-bar slot, swapping to the
focused pane on tab switch and clearing when focus leaves. Long text
marquee-scrolls within the slot. Context is a token count, not a %
(the transcript doesn't carry the model's window limit).
- tmux agent teams surface as native teammate tiles (T-139, T-140) —
when a Claude team is running, each teammate shows as a live