ref: b69c06ad7e1502a17260c641f121b9901ea21f71
parent: 1f902a8e75e2edc71f153bcb0060ea5e1136b553
	author: cinap_lenrek <cinap_lenrek@felloff.net>
	date: Sun Dec  3 11:34:35 EST 2017
	
screenlock: put position check back in grabmouse (thanks deuteron) the check was there because changing te position causes another mouse event to get posted resulting in grabmouse spinning.
--- a/sys/src/cmd/screenlock.c
+++ b/sys/src/cmd/screenlock.c
@@ -91,8 +91,8 @@
void
grabmouse(void*)
 {+ int fd, x, y;
char ibuf[256], obuf[256];
- int fd;
 	if((fd = open("/dev/mouse", ORDWR)) < 0) 		sysfatal("can't open /dev/mouse: %r");@@ -102,9 +102,16 @@
screen->r.min.y + Dy(screen->r)/2);
 	while(read(fd, ibuf, sizeof ibuf) > 0){- if(!debug)
- fprint(fd, "%s", obuf);
- blank = time(0);
+ ibuf[12] = 0;
+ ibuf[24] = 0;
+ x = atoi(ibuf+1);
+ y = atoi(ibuf+13);
+ if(x != screen->r.min.x + Dx(screen->r)/2 ||
+		   y != screen->r.min.y + Dy(screen->r)/2){+ if(!debug)
+ fprint(fd, "%s", obuf);
+ blank = time(0);
+ }
}
}
--
⑨