I'm not sure if xorg-x11-server is the right place to file this, but I can't figure out a better place. Please feel free to redirect me. Starting with Fedora 11, under the GNOME desktop, in both plain old xterm and gnome-terminal, the terminal bell (e.g. from tab completion, "ping -a", etc.) is now captured by GNOME and plays a sound effect instead of just beeping the PC speaker. I guess that's nice if you like sound effects and/or your PC speaker doesn't work, but I want the plain old beep back. How do I get that? If I go to Preferences->Sound, I can only change the sound effect or disable it; I can't get the PC speaker to beep. I guess I'd like to leave the GNOME "alert sound" to a sound effect (I don't really care about it); I just want my xterms to beep at me like they have for the last 18 years. The sound effects really suck for "ping -a"; they are all a little too long (most of the time), so instead of a regular beep-per-second, you get intermittent sound effects and silence. I have tried tracing down where this is happening, but I can't figure it out.
Not sure exactly, but hopefully this is better direction.
It's metacity which converts XBell into a libcanberra call. Reassigning to metacity. But honestly I believe the PC speaker should just die, die die. If you think the default alert sound is too long then consider replacing it by a shorter one.
I have computers with no speakers attached. On most of the others, the speakers are usually off (or turned down low), unless I am listening to music, watching a video, etc. I thought the beep was just gone again until I realized it wasn't just xterm. Why are things that have worked for years (decades?) removed just because you don't like them?
Also, shouldn't it be libcanberra that should support beeping the speaker for an alert message, not metacity? There should be only one place to set sound preferences.
The length of the sound file has nothing to do with the missing sounds either. Something (I guess libcanberra) is rate-limiting the alert sound to a maximum of one per second. Something beeping right at 1Hz will get random drops (as some will come in early and some late). Beeping at 1.001Hz will get every beep; beeping at .49Hz will get every other beep, and so on. An arbitrary rate-limit like this is broken by design.
libcanberra does not rate limit. We do limit them max number of concurrent events though. So what do you actually want? That metacity's Xbell to libcanberra mapping should be optional? Or do you think lc is buggy and rate limits event sounds? If it's the latter then the titlte of the bug should be changed.
metacity was doing the rate limiting. In rawhide I have now increased the rate from 1/1s to 1/100ms. While this still makes sure that we don't end up in a "beep storm" it shouldn't feel anymore as if we lose beeps.
Thanks for the update; sorry I missed that it was metacity doing the rate limiting. Any chance that change could be pushed in an F11 update? "ping -a" is rather annoying without it. As for the beep (the primary issue for this ticket): IMHO, the PC speaker would be an option at libcanberra (just like other types of sounds). If it was a metacity option, there'd have to be some new way to configure it, separate from the current "set the alert sound" screen, which would be confusing. How hard would it be for libcanberra to have an option to pass the alert sound back to the X server for the old-style beep?
(In reply to comment #8) > Thanks for the update; sorry I missed that it was metacity doing the rate > limiting. Any chance that change could be pushed in an F11 update? "ping -a" > is rather annoying without it. Uh, I am not really that fond of doing backports. Will reassign to metacity now, maybe someone there wants to do that. > As for the beep (the primary issue for this ticket): IMHO, the PC speaker would > be an option at libcanberra (just like other types of sounds). If it was a > metacity option, there'd have to be some new way to configure it, separate from > the current "set the alert sound" screen, which would be confusing. How hard > would it be for libcanberra to have an option to pass the alert sound back to > the X server for the old-style beep? That wouldn't really work. We lose the context information of the bell event, so we cannot forward that to the beep hw anymore. Also, I really don't think the hw bell is desirable. Unless someone supplies me with a clean patch that is worth to be merged I am not spending time on this, sorry.
Marking as a dup on the original Metacity bug. (Not going to do the backport to F11 at this point, since F12 is almost out.) *** This bug has been marked as a duplicate of bug 498608 ***