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.
This commit is contained in:
parent
18248ebf4b
commit
3d1090ba89
2 changed files with 12 additions and 2 deletions
13
dwm.c
13
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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue