aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorIgor Soarez <igor@soarez.org>2026-10-23 13:20:11 +0300
committerIgor Soarez <igor@soarez.org>2026-10-23 13:20:11 +0300
commitc082f5044eedd2294d72f920d1018e40d73aab33 (patch)
tree54420e9c0fcb366e8db776c9463c4530737704d7 /README.md
parent0f06b0b15d6b064703fa1166fb8e7ceda209aaa8 (diff)
restore, step 2: resume agents, retype command lines
- the pi extension reports its session file; the daemon keeps it in the pane option @agent_session, and snapshots carry it. restore runs `pi --session <file>` in the rebuilt pane, one agent every 0.5s, then reports which agents run and which were interrupted mid-turn. - other panes: the command line running in them is typed at the new prompt but not run. exactly as typed with the zsh hook (dingger install zsh: preexec/precmd keep @dingger_cmd), else the foreground program's exact argv from the kernel (KERN_PROCARGS2), shell-quoted. - "at a prompt" is the pane's own shell owning the terminal's foreground process group, not a name check: `sh -c ...` is a running program. - an agent or command that exits keeps its place in snapshots for 60s, so a shutdown that stops programs before tmux still restores them. - typing waits for each new prompt (text typed earlier echoes twice). e2e step 16 covers resume with a session path containing a space, the interrupted report, an agent that exits just before the server dies, a quoted command retyped not run, and the hook's text; dropping the grace period, judging prompts by name, running retyped commands, or not storing the session reference each fail it. the test's fake pi is guarded so a real pi never starts.
Diffstat (limited to 'README.md')
-rw-r--r--README.md8
1 files changed, 7 insertions, 1 deletions
diff --git a/README.md b/README.md
index 7d99306..07dabfd 100644
--- a/README.md
+++ b/README.md
@@ -64,7 +64,13 @@ than a poll is still a completion.
to preview, `--list` for saved snapshots, `--session` for some). Sessions
that exist are left alone, except a bare one of the same name (what a
terminal creates on startup), which is replaced with its clients moved
- over.
+ over. Agents are resumed in their own sessions (pi: `pi --session
+ <file>`, reported by the pi extension); agents that were mid-turn are
+ listed. Other panes get the command line that was running typed at the
+ prompt, not run: exactly as typed with the zsh hook (`dingger install
+ zsh`, then source the file it names from your `.zshrc`), otherwise the
+ program's arguments. An agent or program that exits within a minute
+ before tmux stops (a shutdown) is still restored.
- All shortcuts live in `~/.config/dingger/config.toml` (menu bar,
Settings…), reloaded on save.
- **tmux status line** (`packaging/tmux/dingger.tmux`): the same summary after