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

fbe*_*nce 7 gnu-screen

我正在使用水平分割的 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]"
Run Code Online (Sandbox Code Playgroud)

这将是很好能够改变颜色%n %tR当窗格是活动的,或突出显示窗格的其他方式。

小智 3

我查看了屏幕手册页的 STRING ESCAPES 部分,找到了您可能想要的内容。这 ?escape 就像一个 if 语句,而 : escape 就像一个 else 语句。当该窗口具有焦点时,F 转义为真。因此,if active then, else 的 if-then-else 语句将如下所示(添加填充是为了提高可读性):

%? %F active-window options %: inactive-window-options %?
Run Code Online (Sandbox Code Playgroud)

原始选项是 %{= g} (填充字符串以显示宽度和绿色)将活动屏幕文本更改为亮红色将如下所示:

caption splitonly "%?%F%{= R}%:%{= g}%?[%n %t]"
Run Code Online (Sandbox Code Playgroud)

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

  • 欢迎来到 Unix 和 Linux!我们正在寻找提供一些解释和背景的实质性答案。请不要只给出几行代码;解释为什么你的答案是正确的,最好加上引用。不包含解释的答案可能会被删除。 (2认同)