Я использую iTerm2 и Tmux.
Я хотел бы изменить цвет фона панели Tmux, но только при увеличении. Я знаю, что есть флаг window_is_zoomed, и мне интересно, могу ли я использовать его в операторе if-shell или где-то еще, чтобы получить желаемый эффект.
решение1
Возьмем в качестве примера этот однострочный текст (разделенный на несколько строк для удобства чтения):
tmux set-hook -g after-resize-pane \
'if "[ #{window_zoomed_flag} -eq 1 ]" \
"run \"tmux select-pane -P bg=red\"" \
"run \"tmux select-pane -P bg=black\""
'
Запустите его в оболочке tmux
и увеличьте любую панель, чтобы проверить решение.
Примечания:
Это чистое
tmux
решение, не зависящее от iTerm2.Существует три уровня кавычек (одинарные кавычки, двойные кавычки, экранированные двойные кавычки). При настройке команды под свои нужды не перепутайте их.
-g
означает, что хук является глобальным; без-g
него это будет сеансовый хук.Снимите крючок с помощью
tmux set-hook -gu after-resize-pane
.Чтобы сделать решение постоянным, добавьте эту строку в
~/.tmux.conf
(или/etc/tmux.conf
):set-hook -g after-resize-pane 'if "[ #{window_zoomed_flag} -eq 1 ]" "run \"tmux select-pane -P bg=red\"" "run \"tmux select-pane -P bg=black\""'