diff --git a/omp-docs/log.md b/omp-docs/log.md index 4f4fe6e..795ec22 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 — in `claude`, right segments paint the top rule chip, left segments the bottom strip. The red rule **is** the context meter (length = usage); `contextLine` label variants only render in `box`/`band`. Working row (`⠿ Working… + tok/s`) is hardcoded — model/thinking can never join it (Tern-only). Eight composer shapes registered in the bundle; box/band previews run live and rejected. -* **Final bar:** chip = `token_in · token_out · cost · context_pct · time_spent` (stable width, pure numbers); strip = `session_name · vim · mode · hostname · model · path · git(no branch text) · pr`. Cut: tok/s duplicate, clock, cache trio, `context_total`, `subagents`, `session` hash. `path`: full cwd (`stripWorkPrefix: false`, `maxLength: 120`) — worktree branches are autogenerated, so branch text dropped, dirty badges kept. +* **Final bar:** chip = `token_in · token_out · cost · context_pct · time_spent` (stable width, pure numbers); strip = `session_name · vim · mode · hostname · model · path · git(no branch text) · pr`. Cut: tok/s duplicate, clock, cache trio, `context_total`, `subagents`, `session` hash. `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 079873e..f922fb2 100644 --- a/omp-docs/pi/statusline.md +++ b/omp-docs/pi/statusline.md @@ -65,12 +65,23 @@ 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. -## Path segment in worktrees +## Path segment and `stripWorkPrefix` -Inside a git worktree the `path` segment always renders -`projectName/worktreeName` when `segmentOptions.path.stripWorkPrefix` is true -(default), or the abbreviated cwd otherwise — base-directory-only is not -renderable. `maxLength` clips tail-first. +`segmentOptions.path.stripWorkPrefix` (default **true** — the code tests +`!== false`) gates two behaviors in the `path` renderer: + +1. **Worktree sessions:** `true` never shows the disk path — it renders the + logical `projectName/worktreeName` label (bare `projectName` when the + current branch is named after the worktree) with the worktree glyph. + `false` opts out and shows the real cwd with a folder glyph, plus a + ` ↳ relativeRepoRoot` suffix inside a repo. Base-directory-only is not + renderable in either mode. +2. **All sessions:** `true` uses the pretty display path (scratch sessions + get the scratch-folder icon); `false` uses the raw absolute cwd. + +`abbreviate` and `maxLength` (clip, default 40) apply afterwards in both +modes. The fleet runs `true` — logical label, worktree glyph (verified live +2026-10-18; an earlier trial of `false` for the full cwd was rejected by eye). ## Fleet configuration (2026-10-18)