在 Ubuntu 23.10 上的 tmux 3.3a 中,如果当前窗格处于复制模式(按 prefix_key + PageUp),并且在退出复制模式时将文本颜色恢复为灰色,我想将文本颜色更改为黄色。
我试过:
set-hook -g pane-mode-changed 'if -F "#{m/r:(copy|view)-mode,#{pane_mode}}" "set window-active-style fg=yellow" "set -u window-active-style fg=grey"'
我已经测试过。启动 tmux 并输入一些命令,例如 dir 并按下prefix_key + PageUp
,文本颜色正确更改为黄色。如果我按下CTRL+C
它会变回灰色。就像我想要的那样。
现在创建第二个窗格:prefix_key + "
还执行一些命令,例如 dir 并按下prefix_key + PageUp
,颜色按预期更改为黄色。现在移动到另一个窗格(不退出当前窗格中的复制模式),并且prefix_key + ArrowUp
第一个窗格获得黄色文本颜色,尽管不处于复制模式。在这种情况下,我希望文本保持灰色,因为当前窗格处于“正常”模式。
移动到另一个窗格不会触发
pane-mode-changed
,而是会触发window-pane-changed
。最简单的改进是定义两个钩子: