From c2d855b33da921cd163adce13cb32ad4bcdc1639 Mon Sep 17 00:00:00 2001 From: Frank Date: Sun, 18 Oct 2026 01:08:26 -0700 Subject: [PATCH] Status line: move model segment to the right cluster (model, cost, time) Left group keeps the where-am-I identity (host, path, git, pr); the right cluster carries what's-running (model) plus cost and elapsed time, painted in array order. context_pct verified to hoist into the inline meter spacer regardless of array position. Docs + changelog updated. --- agent/config.yml | 2 +- omp-docs/log.md | 2 +- omp-docs/pi/statusline.md | 11 ++++++----- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/agent/config.yml b/agent/config.yml index 4128b16..fb3af30 100644 --- a/agent/config.yml +++ b/agent/config.yml @@ -110,11 +110,11 @@ statusLine: - vim - mode - hostname - - model - path - git - pr rightSegments: + - model - cost - context_pct - time_spent diff --git a/omp-docs/log.md b/omp-docs/log.md index ccfc075..9c348cf 100644 --- a/omp-docs/log.md +++ b/omp-docs/log.md @@ -16,7 +16,7 @@ timestamp: 2026-08-28 Interactive tune-up of the omp status bar (grilling session, live loop: config edit → watcher repaint → niri screenshot verify). New knowledge page: [OMP Status Line Customization](/pi/statusline.md). * **Mechanics discovered:** `leftSegments`/`rightSegments` are inert unless `preset: custom` (fleet was on `nerd` with dead arrays); `composer.shape` routes them — `band` merges both arrays into one row above the editor (title rides the working row), `claude` splits them into top chip + bottom strip. The `claude` red rule **is** the context meter (length = usage); `contextLine` label variants render in `box`/`band` — `band` paints the labeled inline meter (`60% ——— × 200K`). Working row (`⠿ Working… + tok/s`) is hardcoded — model/thinking can never join it (Tern-only). Eight composer shapes registered in the bundle. -* **Final bar (`band`, after a `claude` sojourn):** left = `session_name · vim · mode · hostname · model · path · git(no branch text) · pr`; right = `cost · context_pct · time_spent` with the labeled inline context meter between the groups. Cut: tok/s duplicate, clock, cache trio, `context_total`, `subagents`, `session` hash, and `token_in`/`token_out` (cumulative totals live in `/session`). `path`: logical `project/worktree` label (`stripWorkPrefix: true`, kept after a live `false` trial of the full cwd); branch text dropped (worktree branches are autogenerated), dirty badges kept. +* **Final bar (`band`, after a `claude` sojourn):** left = `session_name · vim · mode · hostname · path · git(no branch text) · pr`; right cluster in array order = `model · cost · time_spent` (`context_pct` hoists out of the run to paint the labeled inline meter `60% ——— × 200K` as a flexible spacer between the groups). Cut: tok/s duplicate, clock, cache trio, `context_total`, `subagents`, `session` hash, and `token_in`/`token_out` (cumulative totals live in `/session`). `path`: logical `project/worktree` label (`stripWorkPrefix: true`, kept after a live `false` trial of the full cwd); branch text dropped (worktree branches are autogenerated), dirty badges kept. * **models.yml:** frank-archon display `name` slimmed to `"frank-archon"` (endpoint suffix dropped; `id` untouched). * **Out of scope noted:** worktree name generation (`wt--`) is omp-internal; possible upstream feature request. diff --git a/omp-docs/pi/statusline.md b/omp-docs/pi/statusline.md index 0f86114..b0acc09 100644 --- a/omp-docs/pi/statusline.md +++ b/omp-docs/pi/statusline.md @@ -88,11 +88,12 @@ modes. The fleet runs `true` — logical label, worktree glyph (verified live ## Fleet configuration (2026-10-18) - 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. + `mode`, `hostname`, `path`, `git` (no branch text — worktree branches are + autogenerated names), `pr`. Right group (array order = paint order, so the + last entry hugs the screen edge): `model`, `cost`, `context_pct`, + `time_spent` — `context_pct` hoists out of the run to paint the labeled + inline meter (`60% ——— × 200K`) as a flexible spacer 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 the meter), `subagents`, `session`, `token_in`/`token_out` (cumulative totals are