v0.5.1: give every session notice a line of its own - #13
Merged
Conversation
The pane border had become the place everything went. It carried OVER QUOTA, SHORT SESSION and a scrolling offer to install the Claude Code hooks — three unrelated things sharing one rule and taking turns for it, immediately above the one line you actually glance at for the job id. Two of them were warnings you cannot act on without reading, and reading them meant picking them out of a line that was also a decoration. So they move below the status bar instead, onto tmux status lines of their own: warnings nearest the session line, since they are the ones you may have to act on and both hold for the life of the session, then the Claude hint furthest away, since it is only an offer. Each line exists solely while it has something on it, so a session with nothing to say is exactly as tall as it was before, and the pane gets its row back the moment a warning clears — which is what makes `--check-quota` after a deletion feel like it did something. The hint stops scrolling. It scrolled because 44 columns was all the border could lend it without swallowing the rule; a full-width line fits the whole sentence at 80 columns. That also retires the 0.3s redraw the marquee forced on every session that showed it, along with the offset arithmetic and the byte-slicing that made the message ASCII-only. One tmux subtlety, found by rendering it against a live client rather than by reading the manual: 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, which leaves the default index 0 alone; every job has its own tmux server, so that is still one session's worth of scope. Verified by attaching a real client at 100 and 80 columns across every combination: nothing, hint alone, quota alone, quota + short session + hint, and back to nothing. At 80 columns the hint fits whole and the warnings truncate from the right, which is the correct end to lose — align=left keeps the overage figure, the part that is news. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Every session notice — over quota, short session, and the Claude Code hint — moves off the pane border and onto status lines of its own below the session line. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The pane border had become the place everything went:
OVER QUOTA,SHORT SESSION, and a scrolling offer to install the Claude Code hooks, three unrelated things sharing one rule and taking turns for it — directly above the one line you glance at for the job id.They move below the status bar instead, onto tmux status lines of their own.
One tmux subtlety, found by rendering against a live client rather than by reading the manual: 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 leavesstatus-format[0]empty and the session line silently disappears. The extra indices are set globally instead.Verified by attaching a real client at 100 and 80 columns across every combination: nothing, hint alone, quota alone, quota + short session + hint, and back to nothing. At 80 columns the hint fits whole and the warnings truncate from the right, which is the correct end to lose.
Docs updated in README, the man page,
docs/scripting.md, thebodhi-storageskill, and the--agent-contextbriefing. Release commit bumpsVERSION,pixi.toml, the man page.TH, and thedocs/deploy.mdexample to 0.5.1.🤖 Generated with Claude Code