如何在 tmux 2.9a 中设置 window 标题颜色?

How Do I set window title color in tmux 2.9a?

升级到 tmux 2.9a 版后,我不得不更新我的配置文件,因为一些设置的名称发生了变化。我的状态栏 window 标题部分的颜色不再有效。这是我的配置文件的一部分:

# set color for status bar
set-option -g status-style bg=colour235
set-option -g status-style fg=yellow
set-option -g status-style dim

# set window title list colors
set-window-option -g window-status-style fg=brightblue
set-window-option -g window-status-style bg=colour236
set-window-option -g window-status-style dim

# active window title colors
set-window-option -g window-status-current-style fg=brightred
set-window-option -g window-status-current-style bg=colour236
set-window-option -g window-status-current-style bright

无论什么颜色或亮度,我select状态栏的标题区域显示白色文本。我的整个 tmux 配置文件在这里:https://github.com/zanshin/dotfiles/blob/master/tmux/tmux.conf

如果多次设置一个选项,将使用最后一个值。

您需要为每个选项设置一次或在每个选项的第二个和后续设置命令中使用 -a。

语法略有变化(我喜欢新的)。您现在可以将多个属性放在同一行上,用逗号分隔。

使用新语法后,您问题中的配置变为:

# set color for status bar
set-option -g status-style bg=colour235,fg=yellow,dim

# set window title list colors
set-window-option -g window-status-style fg=brightblue,bg=colour236,dim

# active window title colors
set-window-option -g window-status-current-style fg=brightred,bg=colour236,bright

更多信息请参考tmux's FAQ

打印默认设置值

tmux -Lfoo -f/dev/null start\; show -gw

打印当前设置值

tmux -Lfoo -f/dev/null start\; show -g

默认 Window 选项 2.9.a

window-active-style default
window-size smallest
window-status-activity-style reverse
window-status-bell-style reverse
window-status-current-format "#I:#W#{?window_flags,#{window_flags}, }"
window-status-current-style default
window-status-format "#I:#W#{?window_flags,#{window_flags}, }"
window-status-last-style default
window-status-separator " "
window-status-style default
window-style default

修改建议

这些颜色只是为了看区别

~/.tmux.conf

# ---------------- #
# Define Colors    #
# ---------------- #
GRAY="#808080"
BLUE="#569CD6"
DARK_BLUE="#223E55"
RED="#EE4646"
YELLOW="#CCCC99"
BACKGROUND="#000000"
FOREGROUND="#CCCCCC"

# ----------------- #
# Define Status Bar #
# ----------------- #
set -g status-interval 1
set -g status-style bg=$BACKGROUND,fg=$BLUE

# ------------ #
# Define Panes #
# ------------ #
set -g pane-border-style fg=$DARK_BLUE
set -g pane-active-border-style fg=$BLUE

# ---------------- #
# Define Left Side #
# ---------------- #
set -g status-left " "

# -------------- #
# Define Windows #
# -------------- #
set -g window-status-current-format "#[fg=$BLUE] ➤ "
set -g window-status-format " ➤ "
set -g window-status-activity-style fg=$RED
set -g window-status-bell-style fg=$YELLOW
set -g window-status-separator " "
set -g window-style default
set -g window-status-style bg=$BACKGROUND,fg=$GRAY

# ----------------- #
# Define Right Side #
# ----------------- #
set -g status-right-length 150
set -g status-right "#T %Y-%m-%d %H:%M:%S "