Обнаружение события изменения размера в tmux

Нет, вы не сможете запустить программу, скомпилированную в AIX, на компьютере с Debian.

Повторная компиляция из исходного кода на целевой платформе.

0
24.01.2020, 02:10
1 ответ

Я попробовал следующее в версии 2.7 или около того, и, похоже, это сработало. Вы можете добавить хук для запуска команды tmux для нескольких событий, и, в частности, кажется, что window-layout-changedсрабатывает при изменении размера панелей. Я попробовал очевидное

set-hook -g window-layout-changed 'resize-pane -t 0 -y 2'

но это создало бесконечный цикл. Некоторые события имеют версию после , но, видимо, события after-window-layout-changedнет. (В более ранних версиях tmux есть событие layout-changed, но мне не удалось заставить его работать ).

Итак, наконец, я создал небольшой сценарий оболочки, myscript, в моем PATH, чтобы проверить текущий размер панели и изменить ее размер только при необходимости:

#!/bin/bash
ht=$(tmux display-message -p -t 0 '#{pane_height}')
if [ 2 != "$ht" ]
then tmux display-panes\; resize-pane -t 0 -y 2
fi

Я добавил display-panesтолько для того, чтобы проверить, работает ли скрипт. Похоже, это хорошо работало с:

set-hook -g window-layout-changed 'run-shell myscript'

и даже в случае, когда осталась только панель 0 (, которая поэтому не -изменяла размер ).

0
28.01.2020, 02:54

Теги

Похожие вопросы