Tmux 选项 window-status-activity-style 拒绝覆盖 window-status-format

Tmux 选项 window-status-activity-style 拒绝覆盖 window-status-format

我试图让 tmux 在后台窗口有新活动时吸引我的注意力,但我遇到了各种问题-活动-选项。如果 window-status-format 字符串包含该设置的任何值,似乎我给他们的任何设置都会被忽略。例如:

# Set window notifications
setw -g monitor-activity on
set-option -gw window-status-activity-style fg=white,bg=red,blink

...

setw -g window-status-format "#[fg=colour231,bg=colour233] #I :#[fg=colour231,bg=colour233] #W "

在我的 .tmux.conf 中设置上述内容后,窗口状态的颜色根本不会改变。我最初只在其中添加了fgbg选项,并认为我只是设置错误,但添加该blink属性确实会使窗口状态在活动时闪烁。我甚至尝试将标志传递-a

set-option -agw window-status-activity-style fg=white,bg=red,blink

但这并没有什么区别,这正是你所期望的。

答案1

我找到了问题的根源。window-status-activity-style 生效,但window-status-format将优先处理,这样活动样式就无法覆盖格式中明确设置的任何内容。我通过在活动样式中设置闪烁并确保格式中没有任何东西阻止闪烁来使闪烁正常工作。

如果我希望它在活动时更改字体颜色,我必须在活动样式中设置字体颜色,并确保格式中没有提及字体颜色。我可以通过使默认窗口标题字体颜色与我在格式中输入的颜色相同,使非活动窗口仍按预期显示。

答案2

尝试一下:

闪烁对我有用..至少在 xterm 中(不是 urxvt :/)...

20 set -g window-status-format " #{?window_activity_flag, #[fg=colour231]#[blink],#[fg=colour245]}#{?window_bell_flag,#[fg=colour01]#[blink],#[fg=colour245]} #W "
21 set -g window-status-style 'bg=colour232'
22 set -g window-status-activity-style 'bg=colour232,fg=colour247,blink'
23 set -g window-status-bell-style 'bg=colour232,fg=colour01,blink'
24 set -g window-status-current-style 'bg=colour232,fg=colour09'
25 set -g monitor-activity on

相关内容