shod

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 5be2b5ed436ec2b39fc31f4186aea7824b7b0deb
parent 339b809b22477bcf97a11e9faa29400fcd284cc4
Author: seninha <lucas@seninha.org>
Date:   Sun, 11 Sep 2022 22:10:33 -0300

grab pointer in alttab to not get pointer events

Diffstat:
Mxevents.c | 12+++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/xevents.c b/xevents.c @@ -606,7 +606,10 @@ alttab(XEvent *e) return; ev = *e; raised = 0; - XGrabKeyboard(dpy, root, True, GrabModeAsync, GrabModeAsync, CurrentTime); + if (XGrabKeyboard(dpy, root, True, GrabModeAsync, GrabModeAsync, CurrentTime) != GrabSuccess) + goto done; + if (XGrabPointer(dpy, root, False, 0, GrabModeAsync, GrabModeAsync, None, None, CurrentTime) != GrabSuccess) + goto done; do { switch (ev.type) { case Expose: @@ -630,10 +633,13 @@ alttab(XEvent *e) } while (!XMaskEvent(dpy, ALTTABMASK, &ev)); done: XUngrabKeyboard(dpy, CurrentTime); + XUngrabPointer(dpy, CurrentTime); if (c == NULL) return; - containerbacktoplace(c, raised); - tabfocus(c->selcol->selrow->seltab, 0); + if (raised) { + containerbacktoplace(c, raised); + tabfocus(c->selcol->selrow->seltab, 0); + } } /* detach tab from window with mouse */