Отключить звуковой сигнал прокрутки Carbon Emacs

Я пытался внедрить Carbon Emacs для использования на своем Mac, и единственный камень преткновения, с которым я столкнулся, — это раздражающий звуковой сигнал прокрутки, когда вы пытаетесь прокрутить документ до конца. Я искал в Интернете, но не могу найти, что я должен добавить в свой .emacs, чтобы он не издавал звуковой сигнал при прокрутке. Я не хочу полностью отключать звук, только при прокрутке. Любые идеи?


person Kyle Cronin    schedule 27.11.2008    source источник


Ответы (5)


(setq visible-bell t)

Это заставляет emacs мигать вместо звукового сигнала.

person wunki    schedule 01.12.2008
comment
Верно, но это заставит замолчать все, чего хотел избежать ОП. Это то, что я использую — визуальный звонок так же полезен, как и звуковой, и не мешает музыке, когда я использую наушники. Я бы рекомендовал его "никто" в любом случае. - person jmanning2k; 09.12.2008

Используя подсказки с страницы Emacs wiki AlarmBell, это делает это для меня:

(defun my-bell-function ()
  (unless (memq this-command
        '(isearch-abort abort-recursive-edit exit-minibuffer
              keyboard-quit mwheel-scroll down up next-line previous-line
              backward-char forward-char))
    (ding)))
(setq ring-bell-function 'my-bell-function)

Если вы не знаете название команды, нажмите C-h k, затем нажмите клавишу/действие, название которого вы хотите получить.

person nominolo    schedule 08.04.2009

Вам нужно будет настроить файл ring-bell-function.

На этой странице могут быть подсказки:

http://www.emacswiki.org/emacs/AlarmBell

person Svante    schedule 27.11.2008
comment
Увы, это не сработает. Например, в функцию следующей строки жестко запрограммирован ding. - person ShreevatsaR; 27.11.2008
comment
Хм. Не могли бы вы тогда просто переопределить функцию следующей строки в вашем .emacs? - person Svante; 28.11.2008
comment
Вам придется переопределить не только следующую и предыдущую строки, но также прокрутку вверх, прокрутку вниз и множество других функций; многие из которых определены в исходном коде C и исходный код которых не поставляется с Carbon Emacs. Кто-нибудь, поправьте меня, если я ошибаюсь. - person ShreevatsaR; 28.11.2008

Между ответом Стивена Хассарда и комментарием Киптона Барроса:

(setq ring-bell-function 'ignore)

кажется наиболее кратким, работает на emacs 24.x и отвечает на исходный вопрос.

person Karim Nassar    schedule 16.12.2014

Кажется, это помогает:

(setq ring-bell-function nil)
person Stephen Hassard    schedule 12.01.2013
comment
Исправление: nil следует заменить на 'ignore. Это отключит все звонки. - person Kipton Barros; 12.02.2013