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.
Anselm R Garbe garbeam@gmail.com
Mon, 11 Aug 2014 07:24:29 +0200
M
LICENSE
→
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>
M
dwm.c
→
dwm.c
@@ -1123,6 +1123,7 @@ int x, y, ocx, ocy, nx, ny;
Client *c; Monitor *m; XEvent ev; + Time lasttime = 0; if(!(c = selmon->sel)) return;@@ -1145,6 +1146,10 @@ case MapRequest:
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 @@ }
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 @@ case MapRequest:
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