int i;
i = 0;
- while(i < nbuf-1)
+ while(i < nbuf-1){
if(read(0, &c, 1) != 1 || c == '\04' || c == '\177'){
i = 0;
break;
i = 0;
else
buf[i++] = c;
+ blank = time(0);
+ }
buf[i] = '\0';
}
break;
auth_freeAI(ai);
- blank = time(0);
-
border(screen, screen->r, 8, display->black, ZP);
flushimage(display, 1);
}
return;
for(;;){
- if(((ulong)time(0) - (ulong)blank) >= 5){
+ if(blank != 0 && ((ulong)time(0) - (ulong)blank) >= 5){
blank = 0;
write(fd, "blank", 5);
}
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");
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);
+ }
}
}
buf[sizeof buf-1] = 0;
if(tokenize(buf, flds, Nfld) != Nfld)
sysfatal("can't tokenize /dev/screen header");
- snprint(newcmd, sizeof newcmd, "-r %s %s %d %d",
- flds[1], flds[2], atoi(flds[3]), atoi(flds[4]));
+ snprint(newcmd, sizeof newcmd, "-r %s %s %s %s",
+ flds[1], flds[2], flds[3], flds[4]);
newwindow(newcmd);
if((fd = open("/dev/consctl", OWRITE)) >= 0)
if(initdraw(nil, nil, "screenlock") < 0)
sysfatal("initdraw failed");
+ screen = _screen->image; /* fullscreen */
if((fd = open(pic, OREAD)) >= 0){
if((i = readimage(display, fd, 0)) != nil){