diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2017-12-01 23:13:01 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2017-12-01 23:13:01 +0100 |
commit | 2bf642de9d62e6cd10dbcb009fa6e1c700f56d00 (patch) | |
tree | de4b8393515aaa26cfe225d56944164b23e14745 /sys/src/cmd/screenlock.c | |
parent | f03260bf257c34bd261493806b963feddd3df42b (diff) |
screenlock: blank screen using /dev/mousectl (thanks sl)
Diffstat (limited to 'sys/src/cmd/screenlock.c')
-rw-r--r-- | sys/src/cmd/screenlock.c | 24 |
1 files changed, 5 insertions, 19 deletions
diff --git a/sys/src/cmd/screenlock.c b/sys/src/cmd/screenlock.c index 7db2a13cf..e6ea2c88b 100644 --- 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 @@ int chatty = 0; 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 @@ checkpassword(void) 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 @@ checkpassword(void) 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 @@ blanker(void *) tics = 10; } if(tics > 0 && --tics == 0) - blankscreen(1); + write(fd, "blank", 5); sleep(1000); } } @@ -268,10 +258,6 @@ void 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++; |