Status line: band shape, drop token_in/token_out segments

Band merges the segment groups into one row above the editor and paints
the labeled inline context meter (60% - 200K); the session title rides
the working row. Cumulative token totals live in /session - off the bar.
Docs and changelog updated to the band final state.
This commit is contained in:
Frank committed 2026-10-18 00:58:21 -07:00
1 parent 04d3628c94
commit 246189f054
3 files changed
+22 -19

No files matched your search

+19 -14
View File
@@ -33,9 +33,9 @@ with any named preset they are silently ignored. The fleet config runs
| shape | leftSegments | rightSegments |
|---|---|---|
| `claude` (fleet) | bottom strip, left-aligned | top rule chip, right-aligned |
| `band` (fleet) | merged single row above editor | same row, right side (title skipped — it rides the working row) |
| `claude` | bottom strip, left-aligned | top rule chip, right-aligned |
| `rule` | same as claude, gap above strip | same |
| `band` | merged single row above editor | same row, right side (title skipped — it rides the working row) |
| `box` | box top border | box top border |
| `borderless` / `pi` / `field` / `rail` | single bottom bar | single bottom bar |
@@ -58,12 +58,14 @@ staged/unstaged/untracked badges (branch text optional via
## The context meter
The red rule in the `claude` shape **is** the context meter: its length tracks
context usage. `statusLine.contextLine` (`off` / `percentage` / `annotated` /
`embedded`) only changes rendering in `box`/`band` — in `claude` all non-`off`
values look identical. Docs' claim that contextLine is "box composer only" is
wrong for the meter itself; the labeled inline variant (`57%×—200K←`) is the
box/band-only part.
In the `band` shape (fleet) the meter is the labeled inline line between the
segment groups (`60% ———— × 200K`). In the `claude` shape the red rule left of
the right-segment chip **is** the meter: its length tracks context usage.
`statusLine.contextLine` (`off` / `percentage` / `annotated` / `embedded`)
only changes rendering in `box`/`band` — in `claude` all non-`off` values
look identical. Docs' claim that contextLine is "box composer only" is
wrong for the meter itself; the labeled inline variant is the box/band-only
part.
## Path segment and `stripWorkPrefix`
@@ -85,13 +87,16 @@ modes. The fleet runs `true` — logical label, worktree glyph (verified live
## Fleet configuration (2026-10-18)
- Chip (right): `session_name` was moved to the strip; chip = `token_in`,
`token_out`, `cost`, `context_pct`, `time_spent` — pure numbers, stable width.
- Strip (left): `session_name`, `vim`, `mode`, `hostname`, `model`, `path`,
`git` (no branch text — worktree branches are autogenerated names), `pr`.
- Shape `band`: one merged status row. Left group: `session_name`, `vim`,
`mode`, `hostname`, `model`, `path`, `git` (no branch text — worktree
branches are autogenerated names), `pr`. Right group: `cost`,
`context_pct`, `time_spent`, with the labeled inline context meter
between the groups. `session_name` renders on the working row, not the
status row.
- Deliberately cut: `token_rate` (lives on the working row), `time` (panel
clock), `cache_*` (noise), `context_total` (implied by `x/200K`),
`subagents`, `session`.
clock), `cache_*` (noise), `context_total` (implied by the meter),
`subagents`, `session`, `token_in`/`token_out` (cumulative totals are
in `/session` anyway).
- Model display names slimmed in `models.yml` (`frank-archon`, no endpoint
suffix); `name:` is free-form display, `id:` is the wiring — renaming ids is
the cutover procedure, see [Pi Models](/pi/models.md).