diff options
Diffstat (limited to 'mousefunc.c')
-rw-r--r-- | mousefunc.c | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/mousefunc.c b/mousefunc.c index 7551ca1..5efb180 100644 --- a/mousefunc.c +++ b/mousefunc.c @@ -16,7 +16,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: mousefunc.c,v 1.83 2014/09/17 18:09:30 okan Exp $ + * $OpenBSD: mousefunc.c,v 1.84 2014/09/18 13:56:58 okan Exp $ */ #include <sys/param.h> @@ -90,19 +90,18 @@ mousefunc_client_resize(struct client_ctx *cc, union arg *arg) switch (ev.type) { case MotionNotify: + /* not more than 60 times / second */ + if ((ev.xmotion.time - ltime) <= (1000 / 60)) + continue; + ltime = ev.xmotion.time; + mousefunc_sweep_calc(cc, x, y, ev.xmotion.x_root, ev.xmotion.y_root); - - /* don't resize more than 60 times / second */ - if ((ev.xmotion.time - ltime) > (1000 / 60)) { - ltime = ev.xmotion.time; - client_resize(cc, 1); - mousefunc_sweep_draw(cc); - } + client_resize(cc, 1); + mousefunc_sweep_draw(cc); break; case ButtonRelease: - if (ltime) - client_resize(cc, 1); + client_resize(cc, 1); XUnmapWindow(X_Dpy, sc->menuwin); XReparentWindow(X_Dpy, sc->menuwin, sc->rootwin, 0, 0); xu_ptr_ungrab(); @@ -143,6 +142,11 @@ mousefunc_client_move(struct client_ctx *cc, union arg *arg) switch (ev.type) { case MotionNotify: + /* not more than 60 times / second */ + if ((ev.xmotion.time - ltime) <= (1000 / 60)) + continue; + ltime = ev.xmotion.time; + cc->geom.x = ev.xmotion.x_root - px - cc->bwidth; cc->geom.y = ev.xmotion.y_root - py - cc->bwidth; @@ -156,15 +160,10 @@ mousefunc_client_move(struct client_ctx *cc, union arg *arg) cc->geom.y + cc->geom.h + (cc->bwidth * 2), xine.y, xine.y + xine.h, sc->snapdist); - /* don't move more than 60 times / second */ - if ((ev.xmotion.time - ltime) > (1000 / 60)) { - ltime = ev.xmotion.time; - client_move(cc); - } + client_move(cc); break; case ButtonRelease: - if (ltime) - client_move(cc); + client_move(cc); xu_ptr_ungrab(); return; } |