shithub: riscv

Download patch

ref: 90ce513fb0df41c0d6c5cea8dbd612c1859d4392
parent: 07c32fb3da0731570508e519e4cfaaaaf646ccfb
parent: 187806ad2021994c4e841d4dbddc569d51023bb0
author: cinap_lenrek <[email protected]>
date: Sun Jul 18 16:21:06 EDT 2021

merge

--- a/sys/src/cmd/screenlock.c
+++ b/sys/src/cmd/screenlock.c
@@ -119,14 +119,19 @@
 void
 top(void*)
 {
-	int fd;
+	int fd, n;
+	char buf[128];
 
-	if((fd = open("/dev/wctl", OWRITE)) < 0)
+	if((fd = open("/dev/wctl", ORDWR)) < 0)
 		return;
 
 	for(;;){
-		write(fd, "current", 7);
-		sleep(500);
+		n = read(fd, buf, sizeof buf-1);
+		if(n > 48){
+			buf[n] = '\0';
+			if(strstr(buf+48, "notcurrent"))
+				write(fd, "current", 7);
+		}
 	}
 }
 
@@ -186,7 +191,7 @@
 		tm = localtime(time(&blank));
 		s = smprint("user %s at %d:%02.2d", getuser(), tm->hour, tm->min);
 		p = subpt(p, Pt(stringwidth(font, "m") * strlen(s) / 2, 0));
-		string(screen, p, screen->display->white, ZP, font, s);
+		stringbg(screen, p, display->white, ZP, font, s, display->black, ZP);
 	}
 	flushimage(display, 1);