私はこれを私の.screenrcに持っています
caption always "%{= Kw} [%0c] %-Lw%{= KW}[%50>%n%f* %t]%{= Kw}%+Lw%=| %l | ${FULLHOST}"
通常、次のように表示されます。
[01:06] 0$ vim 1$ top 2-$ tail [3$* ~] | 0.26 0.54 0.36 | machine.domain.com
ただし、多くのウィンドウを開いていると、右側のデータがエッジから押し出されて切り捨てられます。
[01:07] 0$ vim 1$ top 2$ tail 3$ ~ 4$ ~ 5$ ~ 6-$ ~ [7$* ~] | 0.21 0.46 0.34 | mac
キャプションコマンドを変更して、適切な情報を端から押し出すのではなく、必要に応じてウィンドウリストを切り捨てるにはどうすればよいですか?アクティブなウィンドウも常に表示されている場合はボーナスポイント。
私が現在使用している別の解決策。元の行のように「%=」、またはベンダーの「%-30 =」(-30%(別名70%)マークに揃える)の代わりに、「%-043 =」(揃える)を使用しています-43文字マークまで)。しかしもちろん、これにはベンダーと同じ問題があり、サーバーごとに変更を相殺する必要がある量があります。解決策は、次のようなコマンドを使用して、サーバーごとに.screenrcを編集することです。
sed -i "s/043/0$(( 19 + $#FULLHOST ))/" ~/.screenrc
(19は、ロード表示と間隔で使用される文字数です)
.screenrcは、シェルの.rcファイルがない場合は生成されるため、実行後すぐにこのコマンドを実行すると、サーバーごとに正しくオフセットされた配置になります。エレガントではありませんが、機能します!
解決するのに十分気にしない残りの問題:
私が使う:
caption always "%-Lw%{= Yk}%50>%n%f*%t%{-}%+Lw%<%-12= %?%F%?%{b}%c %m/%d%?"
これは次のようなものを表示します:
0*bender@armitage 1 bender@rikki 2 bender@gibson 15:11 05/30
これにより、ウィンドウリストのサイズが大きくなっても、ステータス行とアクティブなウィンドウの時刻と日付がリストに保持されます。欠けている魔法のビットは、右側に残したい部分の定義された幅です。これは、私のキャプションコマンドの「%-12 =」幅ディレクティブです。
次のようなものを試してください:
caption always "%{= Kw} [%0c] %-Lw%{= KW}[%50>%n%f* %t]%{= Kw}%+Lw%-30=| %l | ${FULLHOST}"
完全なホスト名を表示するには、幅(%-30 =上記)で遊ぶ必要があります。