Fix agent-cmd.sh shutdown behaviour

This commit is contained in:
2026-05-13 15:31:03 +01:00
parent 4649e0e7f7
commit bcf2e92047

View File

@@ -27,9 +27,19 @@ fi
# Brief delay to let tmux update pane status # Brief delay to let tmux update pane status
sleep 0.1 sleep 0.1
# Count panes still running (pane_dead=0) window_id=$(tmux display-message -p '#{window_id}')
# Note: our own pane counts as running since this script is executing my_pane=$(tmux display-message -p '#{pane_id}')
running=$(tmux list-panes -F '#{pane_dead}' | grep -c '^0$' || true)
# If we're the only pane still running, all others are dead - detach # Count live sibling panes (not us, not dead)
[ "$running" -le 1 ] && tmux detach-client other_live=$(tmux list-panes -t "$window_id" -F '#{pane_id} #{pane_dead}' \
| awk -v me="$my_pane" '$1 != me && $2 == "0"' | wc -l | tr -d ' ')
if [ "$other_live" -eq 0 ]; then
# No live siblings — close the popup and kill the window
# (also cleans up any dead siblings).
tmux detach-client
tmux kill-window -t "$window_id" 2>/dev/null || true
else
# User has split off other live panes — only kill ours, keep popup open.
tmux kill-pane 2>/dev/null || true
fi