Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,30 @@ and this project adheres to
up with two skills claiming the same job. The asset probe accepts a
pre-rename checkout named via `SINTERACTIVE_SHARE`.

- The notice lines below the status bar are gone. Everything the session has
to say about itself is collapsed into a compact `⚠ N notices` counter at
the right of the session line — red while the quota warning is among them,
yellow otherwise, absent when there is nothing to say — so the panel is
always exactly one status line tall. A new `Ctrl-b n` popup shows the
notices in full (`Ctrl-b n` overrides tmux's stock next-window, which has
nothing to do here with the window list hidden), and `sinteractive
--status` prints the same text from the login node, reading the notices
file the session maintains in `~/.cache/sinteractive/`.

While the quota warning holds, the counter shimmers — a lighter band
sweeping through the red text, the way Claude Code's spinner verbs do —
so the one notice that needs acting on keeps catching the eye without
taking any more room than the others.

The warnings held a row of pane height for their whole life — quota and a
maintenance-trimmed end time never clear on their own — and every
appearance resized every pane in the session. A counter does neither, at
the price of one keypress to read the text; and with the width limit gone,
the maintenance notice can afford to say what it means again.

- The `Detach: Ctrl+b d` hint is out of the status line; it already lives in
the `Ctrl-b h` help popup, which now also lists `Ctrl-b n`.

## [0.6.0] - 2026-08-26

### Changed
Expand Down
9 changes: 5 additions & 4 deletions docs/scripting.md
Original file line number Diff line number Diff line change
Expand Up @@ -215,10 +215,11 @@ state file and only falls back to the scheduler when it is stale, so a quiet
session costs nothing.

While Claude Code is running in a session whose hooks are not registered yet,
a `sinteractive --install-claude` hint sits on the bottom status line, below
the session line and below any warnings. It is gated on a live `claude`
process, so it never appears for people who don't use Claude Code, and it
clears once the hooks are registered — taking its line with it.
a `sinteractive --install-claude` hint joins the session's notices — the
`⚠ N notices` counter on the status line, read in full with `Ctrl-b n` or
`sinteractive --status`. It is gated on a live `claude` process, so it never
appears for people who don't use Claude Code, and it clears once the hooks
are registered.

Hooks fire at turn and tool boundaries, so work already in flight cannot be
warned about — put long work in its own allocation, which outlives the
Expand Down
1 change: 1 addition & 0 deletions docs/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ status bar, `squeue`, `--list`, and works with `--attach NAME`.
| Action | Key |
|---|---|
| Show help popup (job info, keys) | `Ctrl-b h` |
| Show notices popup (quota, maintenance, hints) | `Ctrl-b n` |
| Detach from session | `Ctrl-b d` |
| Name/rename session (updates squeue and `--attach` name) | `Ctrl-b $` |
| Split pane horizontally | `Ctrl-b "` |
Expand Down
54 changes: 35 additions & 19 deletions man/sinteractive.1
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,8 @@ elapsed time, time limit, and the session's current working directory.
.TP
.BI \-\-status\ [TARGET]
Show session status: state, node, partition, allocated CPUs and memory,
elapsed time, and time remaining.
elapsed time, time remaining, and the session's active notices (see
.BR "STATUS BAR" ).
.I TARGET
is a
.I JOBID
Expand Down Expand Up @@ -270,10 +271,13 @@ read at all.
.IP
Sessions poll this on their own every
.B $SINTERACTIVE_QUOTA_POLL
seconds (default 600) and show a red
seconds (default 600) and, while it holds, carry a red
.B QUOTA
notice at the left of a second status line, below the session line, while it
holds. It reports the overage, not the usage \(em the number to act on.
notice behind the notices counter on the session line, read in full with
.B Ctrl\-b n
(see
.BR "STATUS BAR" ).
It reports the overage, not the usage \(em the number to act on.
Running
.B \-\-check\-quota
after freeing space clears that notice within a tick rather than at the end
Expand Down Expand Up @@ -400,6 +404,13 @@ reattach commands, and basic tmux keys. Any key closes it.
Detach from the session; the job keeps running. Reattach later with
.BR "sinteractive \-\-attach" .
.TP
.B Ctrl\-b n
Open the notices popup: the full text behind the
.RB \(lq "N notices" \(rq
counter on the status line (see
.BR "STATUS BAR" ).
Any key closes it.
.TP
.B Ctrl\-b $
Name (or rename) the session in place. Updates the squeue job name and
the name used by
Expand Down Expand Up @@ -442,19 +453,22 @@ About ten seconds before the limit, a notice is printed in every pane
and the session shuts down cleanly, so the job completes instead of
being killed at timeout.
.PP
Nothing else is crowded into that line. Anything the session has to say
about itself appears below it, on status lines of its own, each present
only while it has something to say and costing a row of pane height only
while it is there. Nearest the session line are the warnings:
Anything else the session has to say about itself is collapsed into a
compact counter at the right of that same line \(em
.RB \(lq "N notices" \(rq
\(em red and shimmering while the quota warning is among them, yellow
otherwise, and absent while there is nothing to say. Press
.B Ctrl\-b n
to read the notices in full;
.B sinteractive \-\-status
prints the same text from the login node. Today's notices are the
.B QUOTA
in red at the left of the line (see
warning (see
.BR \-\-check\-quota ),
and at its right, in yellow, the end time when the request was trimmed to
finish before a maintenance reservation. Both hold for the life of the
session, so when both apply they share the line, one at each end of it \(em
and each keeps its side whether or not the other is there. Below them, furthest from the session
line because it is only an offer, is the Claude Code hint (see
the end time when the request was trimmed to finish before a maintenance
reservation, and the Claude Code hint (see
.BR "CLAUDE CODE INTEGRATION" ).
The panel is always exactly one status line tall.
.PP
The rule between the pane and the status bar carries no text at all.
.SH SCRIPTING AND AGENTS
Expand Down Expand Up @@ -559,12 +573,14 @@ is available; see
.BR \-\-install\-claude .
.PP
While Claude Code is running in a session whose integration is not yet
registered, a yellow
registered, a
.B "sinteractive \-\-install\-claude"
hint sits on the bottom status line, below any warnings \(em furthest
from the session line, because it is an offer rather than something to
act on. It is a whole line and fits an 80-column terminal, so it is
read at a glance rather than scrolled past. It appears only while a
hint joins the session's notices (the counter on the status line, read
with
.BR Ctrl\-b n ;
see
.BR "STATUS BAR" ).
It appears only while a
.B claude
process is actually running, and clears once the hooks are registered, so
it never nags anyone who does not use Claude Code.
Expand Down
Loading
Loading