|
|
@ -1127,15 +1127,9 @@ resizemouse(const Arg *arg) {
|
|
|
|
None, cursor[CurResize], CurrentTime) != GrabSuccess)
|
|
|
|
None, cursor[CurResize], CurrentTime) != GrabSuccess)
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1);
|
|
|
|
XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1);
|
|
|
|
for(;;) {
|
|
|
|
do {
|
|
|
|
XMaskEvent(dpy, MOUSEMASK|ExposureMask|SubstructureRedirectMask , &ev);
|
|
|
|
XMaskEvent(dpy, MOUSEMASK|ExposureMask|SubstructureRedirectMask , &ev);
|
|
|
|
switch(ev.type) {
|
|
|
|
switch(ev.type) {
|
|
|
|
case ButtonRelease:
|
|
|
|
|
|
|
|
XWarpPointer(dpy, None, c->win, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
c->w + c->bw - 1, c->h + c->bw - 1);
|
|
|
|
|
|
|
|
XUngrabPointer(dpy, CurrentTime);
|
|
|
|
|
|
|
|
while(XCheckMaskEvent(dpy, EnterWindowMask, &ev));
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
case ConfigureRequest:
|
|
|
|
case ConfigureRequest:
|
|
|
|
case Expose:
|
|
|
|
case Expose:
|
|
|
|
case MapRequest:
|
|
|
|
case MapRequest:
|
|
|
@ -1157,6 +1151,10 @@ resizemouse(const Arg *arg) {
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
while(ev.type != ButtonRelease);
|
|
|
|
|
|
|
|
XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1);
|
|
|
|
|
|
|
|
XUngrabPointer(dpy, CurrentTime);
|
|
|
|
|
|
|
|
while(XCheckMaskEvent(dpy, EnterWindowMask, &ev));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
void
|
|
|
|