From 43db5b55eaae67515ae926c0d195c1ef6aa4b607 Mon Sep 17 00:00:00 2001 From: okan Date: Fri, 29 Dec 2017 18:50:43 +0000 Subject: As done for buttonrelease, work specific un-cycling and un-highlighting actions into the keyrelease event, only performing what's actually needed for each; should result in much fewer events against keyreleases. No intended behaviour change. Additionally, like we do for group membership, grab the keyboard only when required for cycling. --- client.c | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) (limited to 'client.c') diff --git a/client.c b/client.c index 3a1ce01..91a708a 100644 --- a/client.c +++ b/client.c @@ -33,7 +33,6 @@ static struct client_ctx *client_next(struct client_ctx *); static struct client_ctx *client_prev(struct client_ctx *); -static void client_mtf(struct client_ctx *); static void client_placecalc(struct client_ctx *); static void client_wm_protocols(struct client_ctx *); static void client_mwm_hints(struct client_ctx *); @@ -683,10 +682,6 @@ client_cycle(struct screen_ctx *sc, int flags) struct client_ctx *newcc, *oldcc, *prevcc; int again = 1; - /* For X apps that ignore events. */ - XGrabKeyboard(X_Dpy, sc->rootwin, True, - GrabModeAsync, GrabModeAsync, CurrentTime); - if (TAILQ_EMPTY(&sc->clientq)) return; @@ -730,21 +725,6 @@ client_cycle(struct screen_ctx *sc, int flags) client_ptrwarp(newcc); } -void -client_cycle_leave(struct screen_ctx *sc) -{ - struct client_ctx *cc; - - sc->cycling = 0; - - if ((cc = client_current()) != NULL) { - client_mtf(cc); - cc->flags &= ~CLIENT_HIGHLIGHT; - client_draw_border(cc); - XUngrabKeyboard(X_Dpy, CurrentTime); - } -} - static struct client_ctx * client_next(struct client_ctx *cc) { @@ -817,7 +797,7 @@ client_placecalc(struct client_ctx *cc) } } -static void +void client_mtf(struct client_ctx *cc) { struct screen_ctx *sc = cc->sc; -- cgit 1.4.1