tmuxで複数のウィンドウの枠線とタイトルに異なる色を設定できますか?

tmuxで複数のウィンドウの枠線とタイトルに異なる色を設定できますか?

3つのウィンドウが表示されたtmuxウィンドウがあります。

  1. Remote_development(はい、変だとわかります)
  2. 品質保証
  3. 生産

次のようにウィンドウタイトルの形式を指定したいと思います。

  1. 濃い緑色の背景、白いテキスト
  2. 黄色の背景に黒のテキスト
  3. 濃い赤の背景、白いテキスト

色を変更できますが、何を試してもすべてのウィンドウの枠線とヘッダーに適用されます。現在のバージョンのtmuxに特定のウィンドウの枠線とタイトルの色だけを設定する方法はありますか?

たとえば、各行はウィンドウ枠の形式を設定します。

tmux set pane-border-format '#[fg=brightwhite#, bg=darkgreen] #W [#{pane_index}] → #{pane_title} '
tmux set pane-border-format '#[fg=black#, bg=yellow] #W [#{pane_index}] → #{pane_title} '
tmux set pane-border-format '#[fg=white#,bg=darkred] #W [#{pane_index}] → #{pane_title} '

しかし、すべての行はそのすべてを変えます。使用上特に違いはないようです-t

答え1

はい、それは窓です(愚かな意図)。ウィンドウオプションではなくサーバーオプションですpane-border-formatpane-border-style

したがって、あなたは思い出す必要があります一つすべてのユースケースのスタイルまたは形式を処理します。これはすぐに複数のネストされた条件文に変わり始めます。 3つのウィンドウで動作しますが、きれいではありません。

読みやすくするために複数行で書式設定します。実際にこれを使用すると空白が表示されるため、余分なスペースを削除する必要があります。

tmux set pane-border-format "
#{?#{==:#{pane_title},remote_development},
    #[fg=white bg=green],
    #{?#{==:#{pane_title},quality_assurance},
        #[fg=black bg=yellow],
        #{?#{==:#{pane_title},production},
            #[fg=white bg=red],
            #[default]
        }
    }
}
#{pane_index} #{pane_title}
"

デフォルトでは、ウィンドウのタイトルをリストしたウィンドウのタイトルと一致させ、インデックスとタイトルを表示する前に言及した色を設定するネスト条件です。まったく新しいレベルのネストが必要なため、アクティブウィンドウの一般的な「逆方向」インジケータを削除しましたが、必要に応じて他のインジケータを追加できます。

関連情報