Tmux は、ウィンドウがサイズ変更されアクティブであるかどうかを識別します。

Tmux は、ウィンドウがサイズ変更されアクティブであるかどうかを識別します。

CTRL+b+z私はtmux 1.8を使用しているので、アクティブウィンドウをズームする機能が組み込まれています。
問題は、サイズ変更されたウィンドウは通常のウィンドウと同じように見えるため、ウィンドウがサイズ変更されたかどうかを忘れてしまうことです。現在ズームモードになっているという表示を追加する方法はありますか?

水平に分割されたウィンドウでも同じ問題が発生します。左の境界線がアクティブな上部ウィンドウに対応するのか、それとも反対なのかを覚えにくい。もっと明確にすることができますか?可能であれば、水平枠を追加しますか?

答え1

ズーム機能と一緒にwindow_flag始祖機能が追加されたので、ウィンドウのタイトルの横にあるステータスZバーにフラグを付ける必要があります(コメントでtmuxの一部のプラグイン/カスタムを使用したと述べました)。


いずれにせよ、次のlist-panesコマンドと関数を使用してformatstmuxを照会できます。

 tmux list-panes -F '#F'

現在アクティブなウィンドウのすべてのウィンドウフラグを印刷します。Zフラグの1つの場合、現在のウィンドウのサイズが変更されます。したがって、コマンドは

 tmux list-panes -F '#F' | grep -q Z

0現在のウィンドウがズームされている場合はエラーを返し、1そうでない場合はエラーを返します。これにより、カスタムステータスバーにこのインジケータを追加できます。


からman tmux

 FORMATS

 Certain commands accept the -F flag with a format argument.  This is a
 string which controls the output format of the command.  Replacement
 variables are enclosed in ‘#{’ and ‘}’, for example ‘#{session_name}’.
 The possible variables are listed in the table below, or the name of a
 tmux option may be used for an option's value.  Some variables have a
 shorter alias such as ‘#S’, and ‘##’ is replaced by a single ‘#’.

 [...]

 Variable name          Alias    Replaced with
 [...]
 window_flags           #F       Window flags

見ているソースコード(window.c, line 639f) 表示されたフラグの完全なリストは次のとおりです。

 #:  window activity flag
 !:  window bell flag
 ~:  window silence flag
 *:  current window flag
 -:  last window flag
 Z:  window zoomed flag
 ' ' (a space):  no flags at all.

答え2

Tmuxは、Zステータスバーのウィンドウ名の末尾にを追加して、ウィンドウが拡大されたことを示します。あるいは、少なくとも私が使用しているバージョン1.9では、基本的にそのようなことをします。

答え3

デフォルトでは、ズームはインジケータを使用しますが、次のようにカスタム#Fインジケータを作成できます。#{?...}

使用#F

tmux 構成ファイルに追加

# Display the window flag next to window name
set -g window-status-format " #I #W#F "

最後のタブには2つのフラグがあります。*1つは現在のタブのもので、もう1つはZズームされたタブのものです。

ここに画像の説明を入力してください。

使用#{?...}

tmux 構成ファイルに追加

# Display whatever you want when the window is zoomed or not zoomed
#   - zoomed = '+' 
#   - not zoomed = ' '
set -g window-status-format " #I #W#{?window_zoomed_flag,+, } "

最後のタブには+ズーム機能があります。

ここに画像の説明を入力してください。

詳細

ステータスバーでウィンドウの状態をカスタマイズして、ウィンドウがズームされたことを表示できます。 tmux設定でこれを設定できます(男性)、いくつかの異なる場所で設定を検索または作成できます(男性)

  • set -g window-status-formatステータスバーのタブ形式を決定します。
    • set -g window-status-current-format方法を決める現在のタブがフォーマットされています
  • #Iウィンドウインデックスです
  • #Wウィンドウ名です。
  • #F窓の象徴である
  • #{?A,B,C}は条件です。 if A != 0, use B, else useC
  • window_zoomed_flag0サイズが変更されていないものとサイズ1が調整されたもの

tmuxの型構文には、ほとんどすべての操作を実行するために条件と組み合わせることができる非常に興味深い変数がたくさんあります(男性)

関連情報