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

From: Stefan Kangas <[email-masked]>
Date: Sun, 18 Apr 2021 13:35:44 -0500

Gregory Heytings <[email-masked]> writes:

>>>   (sit-for 0.5)
>>
>> I think half a second is too long, a bell should be much shorter, like
>> 0.1 sec or something.
>>
>
> Hmmm... 0.5 seconds is the duration of typical audible bells.  And with a
> sit-for, it's at most 0.5 seconds, when the user presses a key the bell
> signal disappears.  That being said, I agree with you that 0.5 seconds is
> perhaps a bit too long, so I changed it to 0.25 seconds.

Eli is correct, 0.25 is far too long.  0.1 is much better.  That is also
closer to the duration of the current behavior for `visible-bell' on
GNU/Linux (in fact, there is no reason not to use the exact same
duration as before).

In comparison with the old GNU/Linux behavior, your patch is basically
as good or better.  However, with your patch I have to wait until the
flashing is over to read the text at the bottom.  This was not the case
previously.  I think that would need to be fixed.

My guess (without looking at the code) is that we would need to make
sure that the bell function is called after the text is displayed rather
than before.  Perhaps this would require us to add a new hook or
something.

(If we do eventually decide to go this way, perhaps we could include a
few variations, for example the idea of changing the mode-line text from
Doom could be added as optional behaviour.  I don't feel very strongly
about this, but I thought it might be worth floating the idea.  It's
very easy to implement, and there is demonstrably at least some demand
for it.)