41 lines
872 B
Diff
41 lines
872 B
Diff
diff --git a/x.c b/x.c
|
|
index c343ba2..26bb9bb 100644
|
|
--- a/x.c
|
|
+++ b/x.c
|
|
@@ -239,6 +239,7 @@ static char *opt_name = NULL;
|
|
static char *opt_title = NULL;
|
|
|
|
static int oldbutton = 3; /* button event on startup: 3 = release */
|
|
+static int bellon = 0; /* visual bell status */
|
|
|
|
void
|
|
clipcopy(const Arg *dummy)
|
|
@@ -1614,6 +1615,15 @@ xbell(void)
|
|
xseturgency(1);
|
|
if (bellvolume)
|
|
XkbBell(xw.dpy, xw.win, bellvolume, (Atom)NULL);
|
|
+
|
|
+ /* visual bell*/
|
|
+ if (!bellon) {
|
|
+ bellon = 1;
|
|
+ MODBIT(win.mode, !IS_SET(MODE_REVERSE), MODE_REVERSE);
|
|
+ redraw();
|
|
+ XFlush(xw.dpy);
|
|
+ MODBIT(win.mode, !IS_SET(MODE_REVERSE), MODE_REVERSE);
|
|
+ }
|
|
}
|
|
|
|
void
|
|
@@ -1840,7 +1850,11 @@ run(void)
|
|
(handler[ev.type])(&ev);
|
|
}
|
|
|
|
- draw();
|
|
+ if (bellon) {
|
|
+ bellon = 0;
|
|
+ redraw();
|
|
+ }
|
|
+ else draw();
|
|
XFlush(xw.dpy);
|
|
|
|
if (xev && !FD_ISSET(xfd, &rfd))
|