tmuxでアクティブpaneかどうかでの色分けをpane_synchronizedに応じて切り替える
Pocket

普段あまりtmuxを使っていないのだけど、tmux.confの設定でアクティブなpaneかどうかで色を分けるといった対応をしていたりする。
↓こんな感じ。

 

で、pane_synchronizedかどうかに応じてこのアクティブなpaneだけ色を変えるのをtmux.confで変更したいということがあったので、その備忘。
対処方法だが、ちょうど自分がpane_synchronizedの切り替えをショートカットキーでトグル切り替えで処理していたので、以下のようにtmux.confに記述することで対処した(自分のtmux.confから抜粋)。

Sponsored Links

#-------------------------------------------------------#
# キーバインド
#-------------------------------------------------------#
# Ctrl-I で複数Paneへの入力モードに変更(Toggle)
bind -n C-i setw synchronize-panes \; display "synchronize-panes #{?pane_synchronized,on,off}"\; if-shell 'test #{pane_synchronized} -eq 1' 'set -g window-style "fg=colour250 bg=black"' 'set -g window-style "fg=colour247 bg=colour236"'


#-------------------------------------------------------#
# Pane
#-------------------------------------------------------#
# アクティブなPaneと非アクティブなPaneで色を変化させる($TMUX_VERSIONが2.1以上の場合)
# - window-style .. 非アクティブウィンドウ
# - window-active-style .. アクティブウィンドウ
if-shell -b '[ $(echo $TMUX_VERSION|awk "{if(\
#-------------------------------------------------------#
# キーバインド
#-------------------------------------------------------#
# Ctrl-I で複数Paneへの入力モードに変更(Toggle)
bind -n C-i setw synchronize-panes \; display "synchronize-panes #{?pane_synchronized,on,off}"\; if-shell 'test #{pane_synchronized} -eq 1' 'set -g window-style "fg=colour250 bg=black"' 'set -g window-style "fg=colour247 bg=colour236"'
#-------------------------------------------------------#
# Pane
#-------------------------------------------------------#
# アクティブなPaneと非アクティブなPaneで色を変化させる($TMUX_VERSIONが2.1以上の場合)
# - window-style .. 非アクティブウィンドウ
# - window-active-style .. アクティブウィンドウ
if-shell -b '[ $(echo $TMUX_VERSION|awk "{if(\$0>=2.1){print 1}}") = 1 ]' " \
set -g window-style 'fg=colour247,bg=colour236'; \
set -g window-active-style 'fg=colour250,bg=black';"
>=2.1){print 1}}") = 1 ]' " \ set -g window-style 'fg=colour247,bg=colour236'; \ set -g window-active-style 'fg=colour250,bg=black';"

 

実際に動いてるのは↓。大体こんな感じ。

 

(ssh接続先ごとでのターミナル背景色の切り替えと相性が悪いのもあって)今まであまりtmuxをつかってこなかったのだが、今後はもっと使うようにしたいなぁという気持ち。
tmux.confの書き方がバージョンによって動いたり動かなかったりするので、ssh経由でローカルのtmux.confを読ませるときのためにいちいちif-shellで分岐を頑張る必要があるのはちょっとツライなぁ…。なんかいい方法ないものか…。

 

Pocket

Written by blacknon

インフラエンジニア(…のつもり)。 仕事で使うならクライアントはWindowsよりはUNIXの方が好き。 大体いつも眠い。

Leave a Comment

メールアドレスが公開されることはありません。

*