Tmux

在 tmux 中,我可以為不同的窗格邊框和標題著色不同嗎?

  • March 22, 2022

我有一個 tmux 視窗,其中顯示了 3 個窗格:

  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似乎沒有任何區別。

哎呀,是的,那是一個窗格(雙關語)。 pane-border-format並且pane-border-style是伺服器選項,而不是窗格選項。

因此,您必須想出一種樣式或格式來處理您的所有案例。這很快就開始變成一堆嵌套的條件。使用三個窗格,它是可行的,但它並不漂亮。

為了便於閱讀,我將把它格式化為多行。在實踐中使用它時,您需要刪除額外的空格,因為空格確實會顯示:

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}
"

它基本上是一個嵌套條件,將窗格標題與您列出的標題相匹配,然後在顯示索引和標題之前設置您提到的顏色。我為活動窗格取出了正常的“反向”指示器,因為它(我相信)需要一個全新的嵌套級別,但如果需要,您可以添加一些其他指示器。

引用自:https://unix.stackexchange.com/questions/696333