Мигает tmux вместо звука

Мигает tmux вместо звука

Сегодня я наконец решил переустановить ОС на своем домашнем сервере с CentOS 5 на CentOS 7. Вместе с этим я решил попробовать tmux вместо screen, который я использовал годами. Мне удалось перенастроить его внешний вид и поведение почти идеально под свои нужды, но есть еще одна раздражающая вещь. В screen, когда я делаю какие-то действия (например, в vi - пытаюсь переместить курсор вверх, находясь на первой строке, или нажимаю неизвестную горячую клавишу и т. д.) - фон мигает на мгновение - я полагаю, это своего рода предупреждение или что-то в этом роде. В любом случае, мне нравится эта функция.

Теперь в tmux он не мигает. Более того, он воспроизводит системный звук по умолчанию. Это действительно раздражает. Как мне изменить этот звук на визуальное мигание?

Я подключаюсь к этому серверу через Putty с рабочего стола Win, если это имеет значение.

решение1

короче: в вашем.tmux.conf

set -g visual-bell on

длинный: Некоторые приложения проверяют какbelиflashвозможности терминала, и позволяют вам выбрать, что будет использоваться. tmuxне делает. Он только читаетbel, так что вымогизмените описание вашего терминала, чтобы изменитьbelк строке для мигания дисплея.

Это могло бы сработать, за исключением того, что покаtmux читаетданные terminfo, он не использует соответствующиеtputsилиputpфункции для отправки данных terminfo, которые включают задержки времени. Вам нужны эти задержки на большинстве терминалов (включая все те, которые имитируют xterm) для реализацииflash.

Интересно, что в описании терминала screenесть flash=\Eg, но ни он, ни tmux ничего с этим не делают (screen использует его внутренне как часть своей функции визуального звонка). У tmux также есть функция визуального звонка, которую вы можете настроить в файле конфигурации. Это не будет мигать экраном, а просто поместит кратковременное оповещение в строку состояния.

Дальнейшее чтение:

visual-bell [вкл | выкл]
Если эта опция включена, сообщение отображается на колокольчике, а не передается на терминал (который обычно издает звук). Также см.bell-actionвариант.

bell-action [любой | нет | текущий | другой]
Установить действие для звонка окна. any означает, что звонок в любом окне, связанном с сеансом, вызывает звонок в текущем окне этого сеанса, none означает, что все звонки игнорируются, current означает, что игнорируются только звонки в окнах, отличных от текущего, а other означает, что игнорируются звонки в текущем окне, но не в других окнах.

Связанный контент