사용자 정의 벨소리 명령이 있습니다.
set -g monitor-bell on
set -g bell-action current
set-hook -g alert-bell 'set -g status-bg "#901010" ; run-shell "sleep 0.1s" ; set -g status-bg colour8'
불행하게도 이 방법으로는 경고음이 억제되지 않습니다. 이렇게 하려면 나는 출발하거나 monitor-bell
떠나야 합니다 bell-action
(참조:이 답변). 그러나 내 alert-bell
후크는 절대 실행되지 않습니다.
내 후크를 추가하기 전에 기존 후크를 제거해 보았습니다.
set-hook -u alert-bell
set-hook -gu alert-bell
alert-bell
경고음을 억제하면서도 tmux 2.7에서 후크를 계속 유지하는 방법은 무엇입니까 ?
답변1
set -g visual-bell on
이렇게 하면 tmux
터미널에 경고음이 울리는 대신 메시지가 깜박입니다("현재 창에서 Bing"). 이 메시지는 자신의 후크를 사용하여 변경한 상태 표시줄을 모호하게 만들 수 있습니다.
매뉴얼에서:
비주얼 벨 [위 | 모두 |
켜져 있으면 창의 벨에 메시지가 표시됩니다. 모니터링 벨일반적으로 소리가 나는 터미널로 전달되는 대신 창 옵션이 활성화됩니다. [...]
답변2
(1밀리초 동안 빈 메시지 표시)를 사용하여 visual-bell
후크 안에 빠르게 숨겨 메시지를 제거했습니다 .alert-bell
display -d1
예를 들어, 배경색을 10분의 1초 동안 흰색으로 설정하여 상태 표시줄을 깜박이게 만드는 후크가 있습니다(원하는 스타일로 변경할 수 있음).
set -g visual-bell on
set-hook -g alert-bell {
display -d1
set status-style bg=white
run -b -d.1 -C {
set -u status-style
}
}
이 set
명령은 설정 및 설정 해제됩니다.status-style
회의옵션(모든 옵션보다 우선 적용됨)글로벌이 옵션이 설정되어 있는 한). 이는 전역 옵션( )을 사용하여 상태 표시줄에 적용한 모든 사용자 정의가 set -g
이 후크의 영향을 받지 않음을 의미합니다.
답변3
이전 예제를 반복했는데 결과는 다음과 같습니다.
set -g monitor-bell on
set -g visual-bell on
set-hook -g alert-bell {
display-message -d1
setw @bell_flag 1
run -b -d.5 -C {
setw @bell_flag 0
}
}
set-hook -g pane-focus-in {
setw @bell_flag 0
}
그런 다음 내장 변수 window_bell_flag 대신 자체 변수 @bell_flag를 사용합니다.