Table of Contents

XBellD

XBellD is a small daemon for replacing the standard X Window System terminal bell with a more interesting set of sounds. This is useful for systems where the terminal bell is handled by the “PC Speaker,” or where different sounds are desired for different classes of X clients.

XBellD works by intercepting terminal bell requests on the server side, and then playing user-specified sounds through a PCM capable soundcard. The resource class of the client making a terminal bell request is used to match a corresponding sound file which should be played when such a request is made.

Rationale

Other software of this type utilize the LD_PRELOAD environment variable for overriding library calls. This approach has several drawbacks and generates a lot of overhead on the client side. It makes the assumption that the machine executing the client program is the same as the one running the display server, which is contrary to the architecture of X Window System. Additionally, it requires extra runtime linking overhead for every single program invoked within the client’s environment, regardless of whether the program actually makes any bell requests.

XBellD, on the other hand, uses the “DEC-XTRAP” extension to monitor requests of type X_Bell on the server side (see Figure 1. XBellD Block Diagram FIXME). In addition, it has native support for playing audio files, and keeps a user-configurable audio data cache, replaced in LRU order.

Figure 1. XBellD Block Diagram

Features

License

As with all other “Open Source” software that I’ve written, XBellD is distributed under the terms of the BSD license.

Related

Download

XBellD is currently in the beta-testing phase. Any testing, feedback, or patches would be greatly appreciated.

Download Latest beta source, version 0.2beta2 (GZipped Tar file)

(No binary packages available yet)

Similar Projects

Missing Features/Additional Ideas

Contact

This project is maintained by Seth Kingsley, email <sethk@magnesium.net>.