http://paste.pocoo.org/show/454733/
А ещё есть XBell! Обожаю иксы.
Кстати, чтобы ваш urxvt пиликал через XkbBell и его пиликанье можно было превратить в симпатичный пук в колоночках, заюзайте xbelld и проделайте следующее с urxvt:
sed -i 's/XBell (dpy, 0)/XkbBell(dpy,vt,0,NULL)/' src/screen.C
sed -i 's!#include <inttypes.h>!#include <inttypes.h>\n#include <X11/XKBlib.h>!' src/screen.C