aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCustaiCo <custaico@openmailbox.org>2014-10-03 19:25:21 +0000
committerRoberto E. Vargas Caballero <k0ga@shike2.com>2014-10-13 19:15:52 +0200
commit86633ada91d1c7d8be1bf0398caff8a62fb1b805 (patch)
tree98c23d43e03fd57e2460e888905899e60b9bd824
parentdcfe505d3c97506918d5aff24ab62e17e5f58fdb (diff)
downloadst-86633ada91d1c7d8be1bf0398caff8a62fb1b805.tar.gz
patch for bell in st
The XBell() call currently used when a bell is recieved sends a message to the X server, but if the X server doesn't know how to sound it, it just gets ignored and I have not been able to find anywhere in x.org's code a way to configure the action that the server does. However, if you use XkbBell() then you can have a process listening for the XkbBellNotifyEvent that is produced and either alert you visually or play an audio file or whatever you want as your notification. You have to include one more header file but the function seems to be compiled as part of Xlib, at least on my installation. CustaiCo
-rw-r--r--st.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/st.c b/st.c
index 22a1ce6..c61b90a 100644
--- a/st.c
+++ b/st.c
@@ -27,6 +27,7 @@
#include <X11/cursorfont.h>
#include <X11/keysym.h>
#include <X11/Xft/Xft.h>
+#include <X11/XKBlib.h>
#include <fontconfig/fontconfig.h>
#include <wchar.h>
@@ -2423,7 +2424,7 @@ tcontrolcode(uchar ascii) {
if(!(xw.state & WIN_FOCUSED))
xseturgency(1);
if (bellvolume)
- XBell(xw.dpy, bellvolume);
+ XkbBell(xw.dpy, xw.win, bellvolume, (Atom)NULL);
}
break;
case '\033': /* ESC */