Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages
xbelld(1) FreeBSD General Commands Manual (con) xbelld(1)

replace X11 terminal bells with different sounds

xbelld [
] [
] [
-volume volume
] [
-cache cache_size
] [
] [
-pidfile pid_file
] [
-dir audio_dir
] [
-esdserver esound_server
] [
toolkit options

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.
After starting, xbelld forks into the background and monitors the display specified for incoming terminal bell requests. Sound files are selected from the directory named in the audioDir resource, using the client class name as the filename base. A file named with ‘default’ as a base is treated specially; it is used in the abscense of a match against a given class name. If multiple files exist for a given class name but with different suffixes, the order of preference is undefined. See the section EXAMPLES for a set of example filenames. A wide variety of audio file formats are supported, namely those that the library “libaudiofile” can read.
The process exits when it receives a fatal signal or when its connection to the display is shut down. Upon receiving a SIGHUP signal, the audio directory is examined for differences since the process began, or since the last time it received a SIGHUP. Xbelld does not explictly poll this directory for changes after starting.
Below is a list of command options and their corresponding X resource names. The default resource class is ‘XBellD’.
Set the resource verbose to ‘False’ (default).
Set the resource verbose to ‘True’.
A value of ‘True’ indicates that extra diagnostic output should be produced.
Set the resource dontFork to ‘False’ (default).
Set the resource dontFork to ‘True’.
A value of ‘True’ indicates the program should run in the foreground rather than forking off as a daemon.
Set the resource volume to the value specified (default: 33). This must be an integral value in between -100 and 100. If the value is positive, it is used as a percentage of the bell volume requested by the client. A negative value indicates that the absolute value of the volume should be used, regardless of what volume the client requests.
Set the resource cacheSize to the value specified (default: 512). This will set the size of the audio data cache to the number specified, in units of kilobytes.
Set the resource multiplexAudio to ‘False’.
Set the resource multiplexAudio to ‘True’ (default).
This indicates sounds should be played using additional available audio output channels, even if the soundcard is already active on another channel.
Set the resource pidFile to the value specified (default: ‘’.) This gives the location of a file that should be written with the process-ID of the currently running xbelld. An empty value disables writing of the file.
Set the resource audioDir to the value specified (Default: ~/.xbells). This names the directory that will be searched for audio files to match client class names.
Set the resource esoundServer to the value specified (Default ‘’). This names the EsounD server to connect to. See the document,
Eric 'Ricdude Mitchell, EsounD: The Enlightened Sound Daemon.
for details.
In addition to the options listed above, all the standard X toolkit options are supported (-display, -class, -name, -geom, etc.)

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. In addition, it has native support for playing audio files, and keeps a user-configurable audio data cache, replaced in LRU order.

Default directory for audio files (resource name audioDir).

An example audio file directory might contain the following files:
Bell for the program xterm(1).
Bell for the program xbiff(1).
Sound used for all other clients.

Xbelld will work with X servers that follow the extension framework conventions of the MIT sample server. The server extension ‘DEC-XTRAP’ must be compiled into the server or loaded as a module (typically named ‘’).

XBell(3X11), xtrap(1).
Alan Jamison, XTrap: The XTrap Architecture, Digital Equipment Corporation.

The xbelld software and this manual page were written by Seth Kingsley ⟨⟩.
March 19, 2002 Version 0.2 BETA

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.