<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dot.git/config/pi/extensions/herdr-session-name.ts, branch master</title>
<subtitle>Shell, editor and terminal configuration, and the tools that go with them
</subtitle>
<id>https://git.soarez.net/sz/dot.git/atom?h=master</id>
<link rel='self' href='https://git.soarez.net/sz/dot.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/dot.git/'/>
<updated>2026-10-05T13:29:50+00:00</updated>
<entry>
<title>pi: the session name in herdr's Agent sidebar</title>
<updated>2026-10-05T13:29:50+00:00</updated>
<author>
<name>Igor Soarez</name>
<email>igor@soarez.org</email>
</author>
<published>2026-10-05T13:29:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/dot.git/commit/?id=6a6c5821a0f368a53548f36a0bd63b035b8e1344'/>
<id>urn:sha1:6a6c5821a0f368a53548f36a0bd63b035b8e1344</id>
<content type='text'>
herdr labels every pi pane "pi", so with several open the rows cannot be told
apart. herdr 0.9.3's socket API has pane.report_metadata, whose display_agent
replaces that label without touching lifecycle state; this reports the session
name there on start and on every rename, auto-named titles included.

Interactive sessions only: a pi -p or subagent run from inside a pane inherits
its HERDR_* variables and would otherwise rename the pane after itself. Checked
against a fake herdr socket: a print-mode run sends nothing, while the socket
accepted a control message. Outside herdr it returns at once. The pi APIs it
uses -- ctx.mode "tui", getSessionName, session_info_changed's name -- are as
in pi 1.0.0, and link/pi.sh links it in like any tracked extension.

From change request e053eb.
</content>
</entry>
</feed>
