GNU分割画面:ヘッダーにアクティブウィンドウを表示する方法

GNU分割画面:ヘッダーにアクティブウィンドウを表示する方法

私は水平に分割されたGNU画面を使用していますが、どのウィンドウがアクティブになっているかを判断するのは必ずしも簡単ではありません(たとえば、ウィンドウの1つでtopなどのプログラムを使用する場合)。ウィンドウがアクティブなときにヘッダーのテキストの色を変更できますか?

現在、次の設定を使用しています。

hardstatus alwayslastline "%{= G}%{g}[ %{G}%H %{g}][ %?%-Lw%?%{R} %n*%f %t %{g}%?%+Lw%? %{g}]%=%{g}[ %{W}%c:%s %{g}]"
caption splitonly "%{= g}[%n %t]"

ウィンドウがアクティブになっている間に色を変更したり、ウィンドウを強調表示したりできることをお勧めし%n %tますR

ベストアンサー1

私はスクリーンマニュアルページのSTRING ESCAPESセクションを見て、あなたが探しているものを見つけました。これ? escape は if 文に似ています。 escape は else 文に似ています。ウィンドウにフォーカスがある場合、Fはtrueにエスケープされます。したがって、if active then、elseのif-then-elseステートメントは次のようになります(読みやすくするためにパディングが追加されます)。

%? %F active-window options %: inactive-window-options %?

元のオプションは%{= g}です(幅と緑を表示するために文字列を埋めます)。アクティブな画面テキストを明るい赤に変更すると、次のようになります。

caption splitonly "%?%F%{= R}%:%{= g}%?[%n %t]"

https://www.gnu.org/software/screen/manual/screen.html#String-Escapes

おすすめ記事