Feature: compact label presets for all labeled widgets
Related to #600 (fully custom label text) — this is a lighter-weight alternative: a global toggle that swaps every built-in label for a short preset, so a line stays readable but stops wasting width on Session: / Weekly Sonnet: / Cache Read: -style prefixes.
Problem. Labels are hard-coded and all-or-nothing today: with raw value off every widget spends 4–15 columns on its label; with raw value on the labels disappear entirely and bare numbers are hard to tell apart:
Model: Opus 4.6 | Ctx Used: 42.1% | Session: 23.4% | Cache Read: 120k | Weekly Sonnet: 100.0% 3h12m
Proposal. A compactLabels setting (global toggle in the TUI Global Overrides menu + per-widget override keybind in the item editor) that applies built-in abbreviation presets. Design detail that works well in practice: preset forms carry no trailing space — the label glues to its value, keeping the line tight while widget gaps (separators) provide the spacing:
| Widget label |
Compact |
Model: |
M: |
Context: |
Ctx: |
Cost: |
(stripped — $ is the glyph) |
Session: |
S: |
Weekly: |
W: |
Weekly Sonnet: / Weekly Opus: / Weekly Fable: |
WS: / WO: / WF: |
In: / Out: / Total: / Cached: / Turn: |
I: / O: / T: / C: / Tr: |
Cache: / Cache Read: / Cache Write: / Cache Hit: |
Ca: / CR: / CW: / CH: |
Block: / Reset: / Weekly Reset: |
B: / R: / WR: |
Overage: / Overage Used: / Overage Left: |
Ov: / OvU: / OvL: |
Ctx Used: / Ctx Left: |
CU: / CL: |
Claude: |
CC: |
Timer widgets also render bar/slider label variants without a colon (Block , Reset , Weekly Reset ) — those get the same treatment without the colon (B, R, WR).
Result:
M:Opus 4.6 CU:42.1% S:23.4% CR:120k WS:100.0% 3h12m
Full (non-compact) labels keep their trailing space; only preset forms are glued.
Implementation note: every labeled widget already funnels its prefix through a single shared helper, so this is one preset map + two toggles — per-widget override cycles on / off / inherit-global, and an empty preset strips the label (same trick as Cost: → $2.46). This is implemented and in daily-driver use in our fork (glued presets included); happy to send the PR here if the approach looks welcome.
Feature: compact label presets for all labeled widgets
Related to #600 (fully custom label text) — this is a lighter-weight alternative: a global toggle that swaps every built-in label for a short preset, so a line stays readable but stops wasting width on
Session:/Weekly Sonnet:/Cache Read:-style prefixes.Problem. Labels are hard-coded and all-or-nothing today: with raw value off every widget spends 4–15 columns on its label; with raw value on the labels disappear entirely and bare numbers are hard to tell apart:
Proposal. A
compactLabelssetting (global toggle in the TUI Global Overrides menu + per-widget override keybind in the item editor) that applies built-in abbreviation presets. Design detail that works well in practice: preset forms carry no trailing space — the label glues to its value, keeping the line tight while widget gaps (separators) provide the spacing:Model:M:Context:Ctx:Cost:$is the glyph)Session:S:Weekly:W:Weekly Sonnet:/Weekly Opus:/Weekly Fable:WS:/WO:/WF:In:/Out:/Total:/Cached:/Turn:I:/O:/T:/C:/Tr:Cache:/Cache Read:/Cache Write:/Cache Hit:Ca:/CR:/CW:/CH:Block:/Reset:/Weekly Reset:B:/R:/WR:Overage:/Overage Used:/Overage Left:Ov:/OvU:/OvL:Ctx Used:/Ctx Left:CU:/CL:Claude:CC:Timer widgets also render bar/slider label variants without a colon (
Block,Reset,Weekly Reset) — those get the same treatment without the colon (B,R,WR).Result:
Full (non-compact) labels keep their trailing space; only preset forms are glued.
Implementation note: every labeled widget already funnels its prefix through a single shared helper, so this is one preset map + two toggles — per-widget override cycles
on / off / inherit-global, and an empty preset strips the label (same trick asCost:→$2.46). This is implemented and in daily-driver use in our fork (glued presets included); happy to send the PR here if the approach looks welcome.