29 Commits

Author SHA1 Message Date
github-actions[bot]
ede1147a4d build: compile dist/ [auto] 2026-04-04 06:38:52 +00:00
github-actions[bot]
6662b4d686 build: compile dist/ [auto] 2026-04-04 06:26:09 +00:00
github-actions[bot]
5e72fe9ba1 build: compile dist/ [auto] 2026-04-04 03:53:54 +00:00
github-actions[bot]
d9b1a3daae build: compile dist/ [auto] 2026-04-04 02:52:13 +00:00
github-actions[bot]
16ce438825 build: compile dist/ [auto] 2026-04-04 02:24:24 +00:00
github-actions[bot]
30e1dfe46a build: compile dist/ [auto] 2026-03-23 04:05:49 +00:00
github-actions[bot]
891cc9baee build: compile dist/ [auto] 2026-03-23 03:47:56 +00:00
Jarrod Watts
fd9a25e35f release v0.0.10: refresh changelog and dist 2026-03-23 13:36:34 +11:00
github-actions[bot]
26e38decd7 build: compile dist/ [auto] 2026-03-20 00:53:22 +00:00
github-actions[bot]
61a3769993 build: compile dist/ [auto] 2026-03-20 00:52:54 +00:00
github-actions[bot]
db7ea25186 build: compile dist/ [auto] 2026-03-20 00:42:28 +00:00
Pan Hu
e952a399f1 fix: stop terminal scrolling to top on tool execution (#248)
* fix: detect terminal width via stderr when stdout is piped

When Claude Code runs the statusLine as a subprocess, stdout is captured
(piped), so process.stdout.columns is undefined. With no terminal width,
long lines aren't wrapped by the HUD — the terminal wraps them silently
instead. Claude Code counts \n characters to determine how many lines to
erase on the next render, so the physical line count diverges from what
Claude Code expects. Over successive renders the cursor drifts upward into
the scrollback buffer, causing the terminal to jump to the top on every
tool execution (https://github.com/jarrodwatts/claude-hud/issues/209).

Fix: fall back to process.stderr.columns before the COLUMNS env var.
When the statusLine subprocess is spawned, only stdout is redirected;
stderr remains connected to the real TTY and returns the correct width.
With accurate width, lines are properly wrapped in the HUD output and
Claude Code's line count stays consistent.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: drop dist artifacts and cover stderr width

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Jarrod Watts <jarrod@cubelabs.xyz>
2026-03-20 11:41:51 +11:00
github-actions[bot]
768346fb34 build: compile dist/ [auto] 2026-03-14 00:20:44 +00:00
github-actions[bot]
c02787bf0e build: compile dist/ [auto] 2026-03-09 04:13:43 +00:00
github-actions[bot]
daab333f3e build: compile dist/ [auto] 2026-03-05 23:56:08 +00:00
myaiexp
5467f29e50 feat(config): add showSessionName toggle (default off) (#170)
* feat(config): add showSessionName toggle (default off)

Session name display from #155 is now opt-in via display.showSessionName
config. This addresses user feedback requesting the ability to hide the
session name. Added to setup onboarding and configure command flows.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* test(docs): cover session-name default behavior

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Jarrod Watts <jarrod@cubelabs.xyz>
2026-03-06 10:44:05 +11:00
github-actions[bot]
d9c48050f8 build: compile dist/ [auto] 2026-03-03 06:00:48 +00:00
github-actions[bot]
d373661ef7 build: compile dist/ [auto] 2026-03-03 05:47:32 +00:00
github-actions[bot]
a4657530ba build: compile dist/ [auto] 2026-03-03 03:19:18 +00:00
github-actions[bot]
ac7929c181 build: compile dist/ [auto] 2026-03-03 02:43:44 +00:00
Jarrod Watts
ffef15fc33 feat: redesign default layout to clean 2-line display (#112)
New default: model+project on line 1, context+usage bars combined on line 2.
All optional features (tools, agents, todos) hidden by default with
setup onboarding step to enable them.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 13:17:23 +11:00
Jarrod Watts
dec6efa509 feat(render): add output speed display (#110) 2026-02-03 12:36:19 +11:00
Jarrod Watts
eafe12d876 feat(render): allow token context display (#108) 2026-02-03 12:20:00 +11:00
Jarrod Watts
f25627d7f8 feat(config): add seven-day usage threshold (#107) 2026-02-03 12:15:13 +11:00
github-actions[bot]
e8e55cd33b build: compile dist/ [auto] 2026-01-19 04:03:29 +00:00
Jarrod Watts
1cffbdd57b feat(layout): add expanded multi-line layout mode (#76)
* feat(layout): add expanded multi-line layout mode

Split the overloaded session line into semantic lines for better readability:

- Identity line: model, plan, context bar, duration
- Project line: path, git status
- Environment line: config counts (CLAUDE.md, rules, MCPs, hooks)
- Usage line: rate limits with reset times

New config options:
- `lineLayout`: 'compact' | 'expanded' (default: expanded for new users)
- `showSeparators`: boolean (orthogonal to layout)
- `usageThreshold`: show usage line only when >= N%
- `environmentThreshold`: show env line only when counts >= N

Backward compatible: old `layout` config is automatically migrated.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: address code review feedback

- Fix usage threshold to use max(5h, 7d) so high 7d usage isn't hidden
  when 5h is null
- Update stale comment in session-line.ts (now compact layout only)
- Remove non-null assertions in identity.ts by hoisting planName

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: apply thresholds to compact layout for consistency

- Add environmentThreshold gating to config counts in compact mode
- Add usageThreshold with max(5h, 7d) logic to usage in compact mode
- Remove non-null assertion for planName (same fix as identity.ts)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* test: update tests for new lineLayout config schema

- Update config.test.js to validate lineLayout instead of layout
- Update render.test.js to use lineLayout and showSeparators
- Update index.test.js mock config with new schema
- Update integration test expected output for expanded default

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 12:17:36 +11:00
github-actions[bot]
75128e8624 build: compile dist/ [auto] 2026-01-13 23:55:46 +00:00
github-actions[bot]
99edaf92e9 build: compile dist/ [auto] 2026-01-09 00:59:01 +00:00
github-actions[bot]
e372132a02 build: compile dist/ [auto] 2026-01-07 05:00:50 +00:00