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))