diff options
author | okan <okan> | 2016-09-30 18:28:06 +0000 |
---|---|---|
committer | okan <okan> | 2016-09-30 18:28:06 +0000 |
commit | 2d8f621b8d285b1cf8e29feb383fa2268e57ee5a (patch) | |
tree | 411cf317c0c58cf39c2503d99c89913d6ee3c11d /menu.c | |
parent | 8b26a43bf17b3834de3127408e7274e8effc9beb (diff) | |
download | cwm-2d8f621b8d285b1cf8e29feb383fa2268e57ee5a.tar.gz cwm-2d8f621b8d285b1cf8e29feb383fa2268e57ee5a.tar.xz cwm-2d8f621b8d285b1cf8e29feb383fa2268e57ee5a.zip |
Use instinsic X11 functions for key/btn/ptr grab/ungrab/regrab requests;
the one line wrappers provided no value and limited altering calls where needed; additionally, most of them had but one caller.
Diffstat (limited to 'menu.c')
-rw-r--r-- | menu.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/menu.c b/menu.c index 80197b9..c3a4f9d 100644 --- a/menu.c +++ b/menu.c @@ -121,10 +121,12 @@ menu_filter(struct screen_ctx *sc, struct menu_q *menuq, const char *prompt, XSelectInput(X_Dpy, sc->menu.win, evmask); XMapRaised(X_Dpy, sc->menu.win); - if (xu_ptr_grab(sc->menu.win, MENUGRABMASK, - Conf.cursor[CF_QUESTION]) < 0) { + if (XGrabPointer(X_Dpy, sc->menu.win, False, MENUGRABMASK, + GrabModeAsync, GrabModeAsync, None, Conf.cursor[CF_QUESTION], + CurrentTime) != GrabSuccess) { XUnmapWindow(X_Dpy, sc->menu.win); return(NULL); + } XGetInputFocus(X_Dpy, &focuswin, &focusrevert); @@ -172,7 +174,7 @@ out: xu_ptr_getpos(sc->rootwin, &xcur, &ycur); if (xcur == mc.geom.x && ycur == mc.geom.y) xu_ptr_setpos(sc->rootwin, xsave, ysave); - xu_ptr_ungrab(); + XUngrabPointer(X_Dpy, CurrentTime); XMoveResizeWindow(X_Dpy, sc->menu.win, 0, 0, 1, 1); XUnmapWindow(X_Dpy, sc->menu.win); @@ -472,10 +474,13 @@ menu_handle_move(XEvent *e, struct menu_ctx *mc, struct menu_q *resultq) if (mc->prev != -1) menu_draw_entry(mc, resultq, mc->prev, 0); if (mc->entry != -1) { - (void)xu_ptr_regrab(MENUGRABMASK, Conf.cursor[CF_NORMAL]); + XChangeActivePointerGrab(X_Dpy, MENUGRABMASK, + Conf.cursor[CF_NORMAL], CurrentTime); menu_draw_entry(mc, resultq, mc->entry, 1); - } else - (void)xu_ptr_regrab(MENUGRABMASK, Conf.cursor[CF_DEFAULT]); + } else { + XChangeActivePointerGrab(X_Dpy, MENUGRABMASK, + Conf.cursor[CF_DEFAULT], CurrentTime); + } } static struct menu * |