Subject: Re: bug#1305: All code that currently beeps should use visual bellinstead

From: "Jason Spiro" <[email-masked]>
Date: Sat, 8 Nov 2008 23:08:48 -0500

2008/11/8 Drew Adams <[email-masked]> wrote:

> IIUC, that sounds terrible, to me. Today, one can simply turn off (or down) the
> sound at the computer level and have zero distraction from the bell. That is not
> unusual for users who share an office - it's not unlike turning down the volume
> of a telephone ring.
>
> This possibility of turning off or down the bell at the computer level should
> not be removed. If Emacs just replaces the bell by the visible bell everywhere,
> that will introduce lots of distraction. And unlike the bell, which has variable
> volume, the visible bell is all-or-none.

Many people don't know how to turn the PC speaker beep lower or off.
And IMO its volume is too high by default.  It can distract an entire
classroom.  That's 30+ people per beep.

> What's wrong with leaving things as they have been since day one? Users who want
> to turn off the bell can always do so, within Emacs or otherwise. Users should
> be able to easily get any of these behaviors: (1) bell only, (2) visible bell
> only, (3) bell and visible bell, (4) nothing.

OK, can we make that an option on the Options menu?  Should I file a
new bug to request that?

> We should not systematically replace the bell by the visible bell just because
> someone found the bell to be annoying. It's not difficult to turn off. Users
> have been living with this option since the beginning.
>
> Bell and visible bell should not really be regarded as replacements for each
> other, in any case. They are two different ways to attract a user's attention.
>
> And one is *not* less annoying than the other. At least not for all users in all
> contexts. Each can be very annoying.

Fair enough.

> If you think there are currently too many places where Emacs beeps, try instead
> to remove some of those beeps on a case-by-case basis. Don't just replace
> beeping with flashing.

How do we remove them on a case-by case basis?  The beep from pressing
C-g perhaps is possible to remove individually.  But how about the
"End of buffer" one you get when you try to move the point past the
end of the buffer?  That is just a beep on (error).