GNU 屏幕分割:如何在标题中显示活动窗格

GNU 屏幕分割:如何在标题中显示活动窗格

我使用水平分割的 GNU 屏幕,但决定哪个窗格处于活动状态并不总是那么容易(例如,当在其中一个窗格中使用像 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 %tR

答案1

我查看了屏幕手册页的 STRING ESCAPES 部分,找到了您可能想要的内容。这 ? escape 就像一个 if 语句,而 : escape 就像一个 else 语句。当该窗口具有焦点时,F 转义为真。因此,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

相关内容