diff options
Diffstat (limited to 'crates/dinggerd/assets/pi/pi-agent-state.ts')
| -rw-r--r-- | crates/dinggerd/assets/pi/pi-agent-state.ts | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/crates/dinggerd/assets/pi/pi-agent-state.ts b/crates/dinggerd/assets/pi/pi-agent-state.ts index 49d4b9c..df9e4e2 100644 --- a/crates/dinggerd/assets/pi/pi-agent-state.ts +++ b/crates/dinggerd/assets/pi/pi-agent-state.ts @@ -3,29 +3,16 @@ // add custom hooks/plugins beside this file instead of editing it. import net from "node:net"; -import path from "node:path"; -import { execSync } from "node:child_process"; // The dingger hook receiver listens here; override with DINGGER_AGENT_SOCKET. const socketPath = process.env.DINGGER_AGENT_SOCKET || `${process.env.HOME}/.local/state/dingger/agent.sock`; -// The extension runs inside a tmux pane, so it finds its own pane id. -function discoverPaneId(): string | undefined { - try { - const out = execSync('tmux display-message -p "#{pane_id}"', { - encoding: "utf8", - stdio: ["ignore", "pipe", "ignore"], - }); - const paneId = out.trim(); - return paneId.startsWith("%") ? paneId : undefined; - } catch { - return undefined; - } -} - -const paneId = process.env.DINGGER_PANE_ID || discoverPaneId(); +// tmux sets TMUX_PANE in the environment of every process it starts in a +// pane, so it names exactly the pane this pi runs in. (Asking tmux for "the +// current pane" is wrong: that is the session's active pane, not ours.) +const paneId = process.env.DINGGER_PANE_ID || process.env.TMUX_PANE; const source = "dingger:pi"; function enabled() { |
