История изменений
Исправление shaplov, (текущая версия) :
Нерешенная проблема с индивидуальным хуком на закрытие панели в tmux
Я просто оставлю это здесь
Обнаружено что в tmux (как минимум в 3.3a ) есть возможность установки индивидуальных хуков на окно и на панель, но для случая когда то на что вешается этот хук уничтожается, хуки почему-то не отрабатывают.
Например
#!/bin/sh
SLEEP=10
P1=`tmux split-window -d -P -F '#{pane_id}' -h 'echo This is a PLACEHOLDER pane; while true ; do sleep 1 ; done'`
P2=`tmux new-window -P -d -n sleep-pane -F '#{pane_id}' "sleep $SLEEP"`
P3=`tmux set-hook -p -t $P2 pane-exited[0] 'run-shell -b "echo woke up > res "' 2>&1`
echo $P1 $P2 $P3 >panes.log
При запуске его tmux new-session ./test.sh
к появлению надписи «woke up» в файле res
не приводит.
При этом если хук на закрытие сделать глобальным
P3=`tmux set-hook -g pane-exited[0] 'run-shell -b "echo woke up > res "'`
То все отрабатывает.
В апстриме проблему подтверждают: https://github.com/tmux/tmux/issues/3736 но если и починят, то неизвестно когда…
Исправление shaplov, :
Нерешенная проблема с индивидуальным хуком на закрытие панели в tmux
Я просто оставлю это здесь
Обнаружено что в tmux (как минимум в 3.3a ) есть возможность установки индивидуальных хуков на окно и на панель, но для случая когда то на что вешается этот хук уничтожения, хучи почему-то не отрабатывают.
Например
#!/bin/sh
SLEEP=10
P1=`tmux split-window -d -P -F '#{pane_id}' -h 'echo This is a PLACEHOLDER pane; while true ; do sleep 1 ; done'`
P2=`tmux new-window -P -d -n sleep-pane -F '#{pane_id}' "sleep $SLEEP"`
P3=`tmux set-hook -p -t $P2 pane-exited[0] 'run-shell -b "echo woke up > res "' 2>&1`
echo $P1 $P2 $P3 >panes.log
При запуске его tmux new-session ./test.sh
к появлению надписи «woke up» в файле res
не приводит.
При этом если хук на закрытие сделать глобальным
P3=`tmux set-hook -g pane-exited[0] 'run-shell -b "echo woke up > res "'`
То все отрабатывает.
В апстриме проблему подтверждают: https://github.com/tmux/tmux/issues/3736 но если и починят, то неизвестно когда…
Исправление shaplov, :
Нерешенная проблема с индивидуальным хуком на закрытие панели в tmux
Я просто оставлю это здесь
Обнаружено что в tmux (как минимум в 3.3a ) есть возможность установки индивидуальных хуков на окно и на панель, но для случая когда то на что вешается этот хук уничтожается, хучи почему-то не отрабатывают.
Например
#!/bin/sh
SLEEP=10
P1=`tmux split-window -d -P -F '#{pane_id}' -h 'echo This is a PLACEHOLDER pane; while true ; do sleep 1 ; done'`
P2=`tmux new-window -P -d -n sleep-pane -F '#{pane_id}' "sleep $SLEEP"`
P3=`tmux set-hook -p -t $P2 pane-exited[0] 'run-shell -b "echo woke up > res "' 2>&1`
echo $P1 $P2 $P3 >panes.log
При запуске его tmux new-session ./test.sh
к появлению надписи «woke up» в файле res
не приводит.
При этом если хук на закрытие сделать глобальным
P3=`tmux set-hook -g pane-exited[0] 'run-shell -b "echo woke up > res "'`
То все отрабатывает.
В апстриме проблему подтверждают: https://github.com/tmux/tmux/issues/3736 но если и починят, то неизвестно когда…
Исходная версия shaplov, :
*** Нерешенная проблема с индивидуальным хуком на закрытие панели в tmux *** Я просто оставлю это здесь
Обнаружено что в tmux (как минимум в 3.3a ) есть возможность установки индивидуальных хуков на окно и на панель, но для случая когда то на что вешается этот хук уничтожается, хучи почему-то не отрабатывают.
Например
#!/bin/sh
SLEEP=10
P1=`tmux split-window -d -P -F '#{pane_id}' -h 'echo This is a PLACEHOLDER pane; while true ; do sleep 1 ; done'`
P2=`tmux new-window -P -d -n sleep-pane -F '#{pane_id}' "sleep $SLEEP"`
P3=`tmux set-hook -p -t $P2 pane-exited[0] 'run-shell -b "echo woke up > res "' 2>&1`
echo $P1 $P2 $P3 >panes.log
При запуске его tmux new-session ./test.sh
к появлению надписи «woke up» в файле res
не приводит.
При этом если хук на закрытие сделать глобальным
P3=`tmux set-hook -g pane-exited[0] 'run-shell -b "echo woke up > res "'`
То все отрабатывает.
В апстриме проблему подтверждают: https://github.com/tmux/tmux/issues/3736 но если и починят, то неизвестно когда…