Move client cycle grab/ungrab into a more relevant place; while here,

update comments about why we need to grab/ungrab the keyboard.
This commit is contained in:
okan 2015-08-27 18:40:09 +00:00
parent 5391659629
commit 19826222f6
2 changed files with 6 additions and 8 deletions

View File

@ -659,6 +659,10 @@ client_cycle(struct screen_ctx *sc, int flags)
struct client_ctx *newcc, *oldcc;
int again = 1;
/* For X apps that ignore events. */
XGrabKeyboard(X_Dpy, sc->rootwin, True,
GrabModeAsync, GrabModeAsync, CurrentTime);
if (TAILQ_EMPTY(&sc->clientq))
return;

View File

@ -219,13 +219,7 @@ kbfunc_menu_group(struct client_ctx *cc, union arg *arg)
void
kbfunc_client_cycle(struct client_ctx *cc, union arg *arg)
{
struct screen_ctx *sc = cc->sc;
/* XXX for X apps that ignore events */
XGrabKeyboard(X_Dpy, sc->rootwin, True,
GrabModeAsync, GrabModeAsync, CurrentTime);
client_cycle(sc, arg->i);
client_cycle(cc->sc, arg->i);
}
void
@ -464,7 +458,7 @@ void
kbfunc_client_grouptoggle(struct client_ctx *cc, union arg *arg)
{
if (arg->i == 0) {
/* XXX for stupid X apps like xpdf and gvim */
/* For X apps that steal events. */
XGrabKeyboard(X_Dpy, cc->win, True,
GrabModeAsync, GrabModeAsync, CurrentTime);
}