カテゴリー
Linux

tmux 。スタイルの確認方法を調べて、アクティブなウインドウを目立たせたい

まとめ

  • アクティブなウインドウを明るく (太く) することで目立たせる: set-window-option -g window-status-current-style bright
  • ウインドウを薄くすることで目立たないようにする: set-window-option -g window-status-style dim

経緯

tmux 2.9a です。 [tmux ウインドウ 目立たせる] などで調べますと、たとえば 達人に学ぶ.tmux.confの基本設定 – Qiita では、次になります。

# アクティブなウィンドウを目立たせる
setw -g window-status-current-fg white
setw -g window-status-current-bg red
setw -g window-status-current-attr bright

ところがこれを適用してみますと、エラーとなります><。

調べた

[tmux 2.9a pane fg] で調べていきますと、どうやら、 tmux 2.8 から 2.9 へとなった時に、mode-fg, mode-bg, mode-attr のオプションは使えなくなったようです。代わりに、 mode-style に一本化さてたとのこと。

これは、急に変わったわけではなく、 tmux 1.9 での変更され、 tmux 2.9 で変更前のものが使えなくなった、ということのようです。

詳細は、本家 FAQ に載っていました。具体例もあり、わかりやすかったです。

また、 FAQ にリンクがありますけれども、 mode-style に設定できるオプションと値は何があるのか、 man ページで一覧されていました。

現在の tmux のスタイル設定の調べ方

tmux show-window-options -g | grep style
tmux show-options -g | grep style

たとえば、次のようになりました。なお、 window-status-current-style はすでに変更済みであり、変更前は default だったように思います。

$ tmux show-window-options -g | grep style
clock-mode-style 24
mode-style fg=black,bg=yellow
pane-active-border-style fg=green
pane-border-style default
window-active-style default
window-status-activity-style reverse
window-status-bell-style reverse
window-status-current-style bright
window-status-last-style default
window-status-style default
window-style default
$
$ tmux show-options -g | grep style
message-command-style fg=yellow,bg=black
message-style fg=black,bg=yellow
status-format[0] "#[align=left range=left #{status-left-style}]#{T;=/#{status-left-length}:status-left}#[norange default]#[list=on align=#{status-justify}]#[list=left-marker]<#[list=right-marker]>#[list=on]#{W:#[range=window|#{window_index} #{window-status-style}#{?#{&&:#{window_last_flag},#{!=:#{window-status-last-style},default}}, #{window-status-last-style},}#{?#{&&:#{window_bell_flag},#{!=:#{window-status-bell-style},default}}, #{window-status-bell-style},#{?#{&&:#{||:#{window_activity_flag},#{window_silence_flag}},#{!=:#{window-status-activity-style},default}}, #{window-status-activity-style},}}]#{T:window-status-format}#[norange default]#{?window_end_flag,,#{window-status-separator}},#[range=window|#{window_index} list=focus #{?#{!=:#{window-status-current-style},default},#{window-status-current-style},#{window-status-style}}#{?#{&&:#{window_last_flag},#{!=:#{window-status-last-style},default}}, #{window-status-last-style},}#{?#{&&:#{window_bell_flag},#{!=:#{window-status-bell-style},default}}, #{window-status-bell-style},#{?#{&&:#{||:#{window_activity_flag},#{window_silence_flag}},#{!=:#{window-status-activity-style},default}}, #{window-status-activity-style},}}]#{T:window-status-current-format}#[norange list=on default]#{?window_end_flag,,#{window-status-separator}}}#[nolist align=right range=right #{status-right-style}]#{T;=/#{status-right-length}:status-right}#[norange default]"
status-left-style default
status-right-style default
status-style fg=black,bg=green
$

実際に設定を変更する

tmux(1) – OpenBSD manual pages を見ながら少し試してみました。

setw -g window-status-current-style bright
setw -g window-status-current-style reverse

bright とすることに決めました。この設定を永続化したいので、設定ファイル ~/.tmux.conf に追記しました。また、アクティブなウインドウ以外は逆に目立たせないようにしてみようと思いましたので、薄くする (dim) 設定を記述してみました。

set-window-option -g window-status-current-style bright
set-window-option -g window-status-style dim

結果

tmux のステータスバーにおいて、アクティブなウインドウを目立たせた結果、次のような表示となりました。

tmux のステータスバーでアクティブなウインドウを目立たせた

おわりに

アクティブなペインも目立たせたいのですけれども、どうもいまいち変更が反映されません><。

少しずつ試していこうと思います。

以上です。

コメントを残す