Изменить цвет фона Tmux увеличенной панели

Изменить цвет фона Tmux увеличенной панели

Я использую 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\""'
    

Связанный контент