내 상단 창은 항상 2줄 크기인 tmux 설정이 있습니다. 안타깝게도 터미널 크기를 조정할 때마다 비율이 완전히 재설정되고 상단 창은 더 많은 공간을 차지합니다.
.tmux.conf
F12 키를 눌러 창 크기를 조정할 수 있는 바인딩을 파일에 만들었습니다 .bind -n F12 resize-pane -t 0 -y 2
그러나 모든 크기 조정 이벤트에서 이 작업을 자동으로 수행하려고 합니다. 어떻게든 효율적으로 이 작업을 수행할 수 있는 방법이 있나요?
답변1
버전 2.7 정도에서 다음을 시도했는데 작동하는 것 같습니다. 여러 이벤트에서 tmux 명령을 실행하는 후크를 추가할 수 있습니다. 특히 window-layout-changed
창 크기가 조정되어 트리거되는 것처럼 보이는 경우 더욱 그렇습니다. 나는 명백한 것을 시도했다
set-hook -g window-layout-changed 'resize-pane -t 0 -y 2'
하지만 이렇게 하면 무한 루프가 발생합니다. 일부 이벤트에는뒤쪽에버전이지만 after-window-layout-changed
이벤트가 없는 것 같습니다. (tmux의 이전 버전에는 layout-changed
이벤트가 있었지만 제대로 작동하지 못했습니다.)
마지막으로 창의 현재 크기를 확인하고 필요한 경우에만 크기를 조정 myscript
하는 작은 셸 스크립트를 만들었습니다 .PATH
#!/bin/bash
ht=$(tmux display-message -p -t 0 '#{pane_height}')
if [ 2 != "$ht" ]
then tmux display-panes\; resize-pane -t 0 -y 2
fi
display-panes
스크립트가 실행 중인지 확인하기 위해 추가했습니다 . 이것은 다음과 같은 경우에 효과가 있는 것 같습니다.
set-hook -g window-layout-changed 'run-shell myscript'
창 0만 남아 있는 경우에도 마찬가지입니다(따라서 크기를 조정할 수 없음).