나는 수평으로 분할된 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 %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