]> git.armaanb.net Git - st.git/commitdiff
patch for bell in st
authorCustaiCo <custaico@openmailbox.org>
Fri, 3 Oct 2014 19:25:21 +0000 (19:25 +0000)
committerRoberto E. Vargas Caballero <k0ga@shike2.com>
Mon, 13 Oct 2014 17:15:52 +0000 (19:15 +0200)
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

st.c

diff --git a/st.c b/st.c
index 22a1ce6754a4269449b5269a08f2626e9d04efb7..c61b90ab8afb26f0f2e21b031923d66dd11a42ee 100644 (file)
--- 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 */