diff options
| author | user <user@clank> | 2026-08-17 13:38:33 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-08-17 13:38:33 +0200 |
| commit | 7a91885c3b063c8d231daceb2b2e29e1f1a81aa6 (patch) | |
| tree | 7210a201bc59bd0c871cbc82afc21de16d3959b5 /src/input.c | |
| parent | sl0ppty: a --script pane is told no session rather than somebody else's (diff) | |
| download | slosh-7a91885c3b063c8d231daceb2b2e29e1f1a81aa6.tar.gz slosh-7a91885c3b063c8d231daceb2b2e29e1f1a81aa6.tar.xz slosh-7a91885c3b063c8d231daceb2b2e29e1f1a81aa6.zip | |
sl0ppty: `set-name target="pane"`, so a script can overrule a program's title
A pane's name already outranks the title its program sets -- `pane_title` prefers
the name while there is one -- and that is the whole remedy for a program
announcing something it stopped meaning: an agent still spinning the summary of a
task it finished, a build script that titled itself once. The remedy was reachable
by double-clicking the title on somebody's screen, and from a layout file, but not
from the socket, while `set-purpose` next to it has taken `target:"pane"|"tab"` all
along.
`target` defaults to `tab`, which is what this verb has always meant. Two verbs
whose defaults differ is a smaller wrong than a verb that quietly changes its
subject under scripts already written against it. The refusals say `no such pane`
or `no such tab`, so a mistyped target shows up in the reply rather than as a label
that did not move.
The gesture now calls the same function, so the two ways in cannot disagree about
where a pane's name lives -- there is a test that a name set over the socket is the
name the double-click editor offers to edit.
Verified: eight checks in `tests/test_pane_title.py`. A pane named while its
program keeps setting OSC 2 titles keeps the name; clearing it hands the label back
to what the program calls itself *now*; `id: 0` is the focused pane and leaves the
other one alone; `set-name` with no target still renames the tab and leaves the
pane's title alone.
Diffstat (limited to 'src/input.c')
0 files changed, 0 insertions, 0 deletions
