aboutsummaryrefslogtreecommitdiff
path: root/crates/dinggerd/assets/pi/pi-agent-state.ts
diff options
context:
space:
mode:
Diffstat (limited to 'crates/dinggerd/assets/pi/pi-agent-state.ts')
-rw-r--r--crates/dinggerd/assets/pi/pi-agent-state.ts21
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() {