URI: 
       applied Hiltjo's resize/move limitation - dwm - dynamic window manager
  HTML git clone https://git.parazyd.org/dwm
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 3d1090ba896319368c4771b88d325fcee368a608
   DIR parent 18248ebf4b9465b837e717dcd14a5202a98248e0
  HTML Author: Anselm R Garbe <garbeam@gmail.com>
       Date:   Mon, 11 Aug 2014 07:24:29 +0200
       
       applied Hiltjo's resize/move limitation
       
       "Limit the amount of updates when resizing or moving a window in floating
       mode to 60 times per second. This makes resizing and moving alot smoother
       and by limiting it it also uses alot less resources on my machine.
       
       Diffstat:
         M LICENSE                             |       1 +
         M dwm.c                               |      13 +++++++++++--
       
       2 files changed, 12 insertions(+), 2 deletions(-)
       ---
   DIR diff --git a/LICENSE b/LICENSE
       @@ -1,6 +1,7 @@
        MIT/X Consortium License
        
        © 2006-2014 Anselm R Garbe <anselm@garbe.us>
       +© 2010-2014 Hiltjo Posthuma <hiltjo@codemadness.org>
        © 2007-2011 Peter Hartlich <sgkkr at hartlich dot com>
        © 2010-2011 Connor Lane Smith <cls@lubutu.com>
        © 2006-2009 Jukka Salmi <jukka at salmi dot ch>
   DIR diff --git a/dwm.c b/dwm.c
       @@ -1123,6 +1123,7 @@ movemouse(const Arg *arg) {
                Client *c;
                Monitor *m;
                XEvent ev;
       +        Time lasttime = 0;
        
                if(!(c = selmon->sel))
                        return;
       @@ -1145,6 +1146,10 @@ movemouse(const Arg *arg) {
                                handler[ev.type](&ev);
                                break;
                        case MotionNotify:
       +                        if ((ev.xmotion.time - lasttime) <= (1000 / 60))
       +                                continue;
       +                        lasttime = ev.xmotion.time;
       +
                                nx = ocx + (ev.xmotion.x - x);
                                ny = ocy + (ev.xmotion.y - y);
                                if(nx >= selmon->wx && nx <= selmon->wx + selmon->ww
       @@ -1264,11 +1269,11 @@ resizeclient(Client *c, int x, int y, int w, int h) {
        
        void
        resizemouse(const Arg *arg) {
       -        int ocx, ocy;
       -        int nw, nh;
       +        int ocx, ocy, nw, nh;
                Client *c;
                Monitor *m;
                XEvent ev;
       +        Time lasttime = 0;
        
                if(!(c = selmon->sel))
                        return;
       @@ -1290,6 +1295,10 @@ resizemouse(const Arg *arg) {
                                handler[ev.type](&ev);
                                break;
                        case MotionNotify:
       +                        if ((ev.xmotion.time - lasttime) <= (1000 / 60))
       +                                continue;
       +                        lasttime = ev.xmotion.time;
       +
                                nw = MAX(ev.xmotion.x - ocx - 2 * c->bw + 1, 1);
                                nh = MAX(ev.xmotion.y - ocy - 2 * c->bw + 1, 1);
                                if(c->mon->wx + nw >= selmon->wx && c->mon->wx + nw <= selmon->wx + selmon->ww