我正在使用 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\""
'
在 shell 中运行它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\""'