v0.5.1
Everything a session has to say about itself moves off the pane border and onto status lines of its own, below the session line.
Notice lines
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
● session 245772 | compute07 Help: Ctrl+b h | Detach: Ctrl+b d
⚠ OVER QUOTA 30.2T / 30T · over by 204.8G │ SHORT SESSION · ends before monthly-maint at Thu 06:00
Claude Code: run sinteractive --install-claude to enable the skills and hooks
The border was carrying three unrelated things at once — two warnings and a scrolling offer to install the Claude Code hooks — sharing one rule and taking turns for it, directly above the one line you glance at for the job id.
- Warnings nearest the session line.
OVER QUOTA(red) andSHORT SESSION(yellow) both hold for the life of the session, so they share a line rather than taking turns. - The Claude Code hint furthest away, since it is an offer rather than something to act on.
- Each line exists only while it has something on it. A session with nothing to say is exactly as tall as before, and the pane gets its row back the moment a warning clears — which is what makes
sinteractive --check-quotaafter a deletion feel like it did something. - The hint no longer scrolls. A full-width line fits the whole sentence at 80 columns, which retires the 0.3s redraw the marquee forced on every session that showed it.
- The pane border is a plain rule again, with no text.
One tmux subtlety
Setting one element of an option array at session scope replaces the whole array for that session instead of overlaying the global one. A session-scoped status-format[1] therefore leaves status-format[0] empty, and the session line — the thing the notices are meant to sit under — silently disappears. The extra indices are set globally instead; every job has its own tmux server, so that is still one session's worth of scope.
Full changelog: v0.5.0...v0.5.1