diff options
| author | haoyuren <13851610112@163.com> | 2026-04-01 17:30:10 -0500 |
|---|---|---|
| committer | haoyuren <13851610112@163.com> | 2026-04-01 17:30:10 -0500 |
| commit | f9a40d372744e7067725bb0af623173f39dbe171 (patch) | |
| tree | 595b93feb9737f35a76f4fe81a5ee7739da440d5 | |
| parent | 3e981a13290b9f8017100ee41c49e5e356fd9510 (diff) | |
| -rwxr-xr-x | hook_wrapper.sh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/hook_wrapper.sh b/hook_wrapper.sh new file mode 100755 index 0000000..3be932c --- /dev/null +++ b/hook_wrapper.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# Detect tmux session name via PID tree (not tmux display-message which returns last attached) +cd "$(dirname "$0")" +source .env 2>/dev/null + +# Detect session by walking PID tree up to tmux pane +detect_session() { + local pane_pids + pane_pids=$(tmux list-panes -a -F "#{pane_pid} #{session_name}" 2>/dev/null) || return + local check_pid=$$ + for i in $(seq 1 50); do + local match + match=$(echo "$pane_pids" | grep "^${check_pid} " | head -1 | cut -d' ' -f2) + if [ -n "$match" ]; then + echo "$match" + return + fi + local ppid + ppid=$(awk '{print $4}' /proc/${check_pid}/stat 2>/dev/null) || return + [ "$ppid" -le 1 ] && return + check_pid=$ppid + done +} + +export SESSION_NAME=$(detect_session) +if [ -z "$SESSION_NAME" ]; then + export SESSION_NAME="unknown" +fi +exec python3 /home/yurenh2/claude-bridge/check_tasks.py |
