From f2673fec53bbba86cc5ba2c1ea8ff5f67346f908 Mon Sep 17 00:00:00 2001 From: bakkeby Date: Sun, 29 Mar 2020 12:57:07 +0200 Subject: [PATCH] [dwm][patch] holdbar: fixed flickering caused by repeated key events --- patch/holdbar.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/patch/holdbar.c b/patch/holdbar.c index a06cab3..8ce543b 100644 --- a/patch/holdbar.c +++ b/patch/holdbar.c @@ -20,6 +20,16 @@ holdbar(const Arg *arg) void keyrelease(XEvent *e) { + if (XEventsQueued(dpy, QueuedAfterReading)) { + XEvent ne; + XPeekEvent(dpy, &ne); + + if (ne.type == KeyPress && ne.xkey.time == e->xkey.time && + ne.xkey.keycode == e->xkey.keycode) { + XNextEvent(dpy, &ne); + return; + } + } if (e->xkey.keycode == XKeysymToKeycode(dpy, HOLDKEY)) { selmon->showbar = 0; updateholdbarpos(selmon);