ref: 2bf642de9d62e6cd10dbcb009fa6e1c700f56d00
parent: f03260bf257c34bd261493806b963feddd3df42b
author: cinap_lenrek <[email protected]>
date: Fri Dec 1 18:13:01 EST 2017
screenlock: blank screen using /dev/mousectl (thanks sl)
--- a/sys/src/cmd/screenlock.c
+++ b/sys/src/cmd/screenlock.c
@@ -8,7 +8,6 @@
char pic[] = "/lib/bunny.bit";
-int vgactl;
int debug;
int doblank;
int chatty = 0;
@@ -16,16 +15,6 @@
char user[256];
void
-blankscreen(int blank)
-{
- if(vgactl < 0)
- return;
- seek(vgactl, 0, 0);
- if(fprint(vgactl, blank? "blank": "unblank") < 0)
- fprint(2, "blankscreen: can't blank: %r\n");
-}
-
-void
error(char *fmt, ...)
{
Fmt f;
@@ -122,7 +111,6 @@
fprint(2, "%s's screenlock password: ", user);
memset(buf, 0, sizeof buf);
readline(buf, sizeof buf);
- blankscreen(0);
if(chatty || !must)
fprint(2, "\n");
if(buf[0] == '\0' || buf[0] == '\04'){
@@ -142,14 +130,16 @@
doblank = 1;
}
memset(buf, 0, sizeof buf);
- blankscreen(0);
}
void
blanker(void *)
{
- int tics;
+ int fd, tics;
+ fd = open("/dev/mousectl", OWRITE);
+ if(fd < 0)
+ return;
tics = 0;
for(;;){
if(doblank > 0){
@@ -157,7 +147,7 @@
tics = 10;
}
if(tics > 0 && --tics == 0)
- blankscreen(1);
+ write(fd, "blank", 5);
sleep(1000);
}
}
@@ -268,10 +258,6 @@
threadmain(int argc, char *argv[])
{
readfile("#c/user", user, sizeof user, 1);
-
- if((vgactl = open("/dev/vgactl", OWRITE)) < 0)
- vgactl = open("#v/vgactl", OWRITE);
-
ARGBEGIN{
case 'd':
debug++;