我有这个在我的.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
我怎样才能改变标题命令,所以它会截断窗口列表如果必要的,而不是从边缘推入正确的信息? 如果活动窗口始终显示,则为奖励积分。
另一个解决scheme,我目前正在使用。 而不是原始行中的“%=”,或者是“%-30 =”(与-30%(又名70%)标记alignment),我使用'%-043 ='到-43个字符)。 但是,当然这和bender的问题一样,我需要为每个服务器抵消变化。 解决scheme是编辑.screenrc每个服务器,像这样的命令:
sed -i "s/043/0$(( 19 + $#FULLHOST ))/" ~/.screenrc
(19是负载显示和间距使用的字符数)
由于我的.rcrc文件是由我的shell的.rc文件生成的,如果它不在那里,我可以立即运行这个命令,并最终为每个服务器正确的偏移alignment。 不优雅,但它的作品!
剩下的问题,我真的不在意足以解决:
我用:
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
随着窗口列表大小的增长,这将保持状态行上的时间和date以及列表中的活动窗口。 你所缺less的魔术比特是你想要保留在右边的部分的一个定义的宽度。 这是我的caption命令中的“%-12 =”width指令。
尝试像这样:
caption always "%{= Kw} [%0c] %-Lw%{= KW}[%50>%n%f* %t]%{= Kw}%+Lw%-30=| %l | ${FULLHOST}"
您需要使用宽度(%-30 =以上)来显示完整的主机名。