Integrate with herdr cli.

This commit is contained in:
Greyson Parrelli committed 2026-11-02 10:47:08 -05:00
1 parent baa2907391
commit b5af181a4d
11 files changed
+1641 -93

No files matched your search

+18
View File
@@ -480,6 +480,24 @@ deliberate one — there is nothing left worth offering to put back, and a banne
at the next launch offering the session before that would be answering a question
nobody asked.
### Shells that outlive the window
Settings → Quitting → *Keep shells running after the window closes* changes the
last paragraph's answer for terminals. With it on, a new shell does not run in a
pty of playpen's own but in [herdr-core](https://github.com/herdrdev/herdr-core)
— the runtime behind `hc` — and the pane attaches to it. Quitting, a crash, or
systemd killing the app's scope leaves every shell and whatever is running in
it alone, and the next launch restores the session **without asking**, in place
of the startup tabs: each pane reattaches to its own shell, scrollback and all.
Closing a pane or a tab still ends what is in it; only the app going away does
not. It needs `hc` on `PATH` or in `~/.local/bin`, and falls back to a local
shell whenever the core cannot be reached.
The snapshot records which core terminal each pane was showing (`"hc": "t7"` on
a terminal leaf). A terminal that has since exited reopens as a fresh shell in
the recorded directory, as it would without herdr-core. Shells in the core can
also be reached from anywhere else with `hc ls` and `hc attach`.
The file is `session.json`, and it lives in the **state** directory rather than
beside `layouts.json` and `settings.json`: