tapplied Hiltjo's resize/move limitation - dwm - [fork] customized build of dwm… | |
git clone git://src.adamsgaard.dk/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 3d1090ba896319368c4771b88d325fcee368a608 | |
parent 18248ebf4b9465b837e717dcd14a5202a98248e0 | |
Author: Anselm R Garbe <[email protected]> | |
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(-) | |
--- | |
diff --git a/LICENSE b/LICENSE | |
t@@ -1,6 +1,7 @@ | |
MIT/X Consortium License | |
© 2006-2014 Anselm R Garbe <[email protected]> | |
+© 2010-2014 Hiltjo Posthuma <[email protected]> | |
© 2007-2011 Peter Hartlich <sgkkr at hartlich dot com> | |
© 2010-2011 Connor Lane Smith <[email protected]> | |
© 2006-2009 Jukka Salmi <jukka at salmi dot ch> | |
diff --git a/dwm.c b/dwm.c | |
t@@ -1123,6 +1123,7 @@ movemouse(const Arg *arg) { | |
Client *c; | |
Monitor *m; | |
XEvent ev; | |
+ Time lasttime = 0; | |
if(!(c = selmon->sel)) | |
return; | |
t@@ -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 | |
t@@ -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; | |
t@@ -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 <=… |