Tmux는 창이 크기 조정되고 활성 상태인지 식별합니다.

Tmux는 창이 크기 조정되고 활성 상태인지 식별합니다.

CTRL+b+z저는 tmux 1.8을 사용하고 있으므로 활성 창을 확대/축소하는 기능이 내장되어 있습니다 .
문제는 크기가 조정된 창은 일반 창과 동일해 보이기 때문에 가끔 창의 크기가 조정되었는지 여부를 잊어버린다는 것입니다. 현재 확대/축소 모드에 있다는 표시를 추가하는 방법이 있습니까?

수평으로 분할된 창에서도 동일한 문제가 발생합니다. 왼쪽 테두리가 활성 위쪽 창에 해당하는지 아니면 그 반대인지 기억하기 어렵습니다. 좀 더 명확하게 만들 수 있을까요? 가능하다면 가로 테두리를 추가하시겠습니까?

답변1

확대/축소 기능과 함께 window_flag시조 기능이 추가되었으므로 Z창 제목 옆의 상태 표시줄에 플래그가 표시되어야 합니다(댓글에서 tmux의 일부 플러그인/사용자 정의를 사용했다고 언급했습니다).


어떤 경우든 다음 list-panes명령과 함수를 사용하여 formatstmux를 쿼리 할 수 있습니다.

 tmux list-panes -F '#F'

현재 활성 창의 모든 창 플래그를 인쇄합니다. Z플래그 중 하나인 경우 현재 창의 크기가 조정됩니다 . 따라서 명령은

 tmux list-panes -F '#F' | grep -q Z

0현재 창이 확대/축소되어 있으면 오류를 반환하고, 1그렇지 않으면 오류를 반환합니다. 이를 통해 사용자 정의 상태 표시줄에 이 표시기를 추가할 수 있습니다.


에서 man tmux:

 FORMATS

 Certain commands accept the -F flag with a format argument.  This is a
 string which controls the output format of the command.  Replacement
 variables are enclosed in ‘#{’ and ‘}’, for example ‘#{session_name}’.
 The possible variables are listed in the table below, or the name of a
 tmux option may be used for an option's value.  Some variables have a
 shorter alias such as ‘#S’, and ‘##’ is replaced by a single ‘#’.

 [...]

 Variable name          Alias    Replaced with
 [...]
 window_flags           #F       Window flags

보고 있다소스 코드(window.c, line 639f) 표시된 플래그의 전체 목록은 다음과 같습니다.

 #:  window activity flag
 !:  window bell flag
 ~:  window silence flag
 *:  current window flag
 -:  last window flag
 Z:  window zoomed flag
 ' ' (a space):  no flags at all.

답변2

Tmux는 Z상태 표시줄의 창 이름 끝에 를 추가하여 창이 확대되었음을 나타냅니다. 아니면 적어도 제가 사용하고 있는 1.9 버전에서는 기본적으로 그런 일을 합니다.

답변3

기본적으로 확대/축소는 표시기를 사용 #F하지만 다음을 사용하여 사용자 정의 표시기를 만들 수 있습니다.#{?...}

사용#F

tmux 구성 파일에 추가

# Display the window flag next to window name
set -g window-status-format " #I #W#F "

마지막 탭에는 두 개의 플래그가 있습니다. *하나는 현재 탭에 대한 것이고 다른 하나는 Z확대/축소된 탭에 대한 것 입니다.

여기에 이미지 설명을 입력하세요.

사용#{?...}

tmux 구성 파일에 추가

# Display whatever you want when the window is zoomed or not zoomed
#   - zoomed = '+' 
#   - not zoomed = ' '
set -g window-status-format " #I #W#{?window_zoomed_flag,+, } "

마지막 탭에는 +확대/축소 기능이 있습니다.

여기에 이미지 설명을 입력하세요.

세부 사항

상태 표시줄에서 창 상태를 사용자 정의하여 창이 확대/축소되었음을 표시할 수 있습니다. tmux 구성에서 이를 구성할 수 있습니다(남성), 몇 가지 다른 위치에서 구성을 찾거나 만들 수 있습니다(남성)

  • set -g window-status-format상태 표시줄의 탭 형식을 결정합니다.
    • set -g window-status-current-format방법을 결정하다현재의탭이 형식화되었습니다
  • #I창 인덱스입니다
  • #W창 이름이에요
  • #F창문의 상징이다
  • #{?A,B,C}는 조건입니다. if A != 0, use B, else useC
  • window_zoomed_flag0크기가 조정되지 않은 것과 크기 1가 조정된 것

tmux의 형식 구문에는 거의 모든 작업을 수행하기 위해 조건과 결합할 수 있는 매우 흥미로운 변수가 많이 있습니다(남성)

관련 정보