Skip to content

Compact label presets for all labeled widgets (global toggle) #610

Description

@axisrow

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions