カスタム着信音コマンドがあります。
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を使用します。