From 4f90eff6c46170cc8d5d2aaeb2d33fe00110ad8f Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Mon, 22 May 2000 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 2000-05-22 --- alphapc/devvga.c | 6 ++++++ alphapc/screen.h | 2 +- pc/devvga.c | 6 ++++++ pc/screen.h | 1 + port/devcons.c | 2 +- port/devdraw.c | 4 ++-- 6 files changed, 17 insertions(+), 4 deletions(-) diff --git a/alphapc/devvga.c b/alphapc/devvga.c index b7bce7211e3885c579e29e87017fd2c755156578..17f8f7f9ca4fdebcfb36a305e226c33f2846f380 100644 --- a/alphapc/devvga.c +++ b/alphapc/devvga.c @@ -126,6 +126,7 @@ vgaread(Chan* c, void* a, long n, vlong off) physgscreenr.max.x, physgscreenr.max.y); } + len += snprint(p+len, READSTR-len, "blanktime %lud\n", blanktime); len += snprint(p+len, READSTR-len, "hwaccel %s\n", hwaccel ? "on" : "off"); len += snprint(p+len, READSTR-len, "hwblank %s\n", hwblank ? "on" : "off"); if(scr->pciaddr) @@ -324,6 +325,11 @@ vgactl(char* a) drawblankscreen(1); return; } + else if(strcmp(field[0], "blanktime") == 0){ + if(n < 2) + error(Ebadarg); + blanktime = strtoul(field[1], 0, 0); + } else if(strcmp(field[0], "hwaccel") == 0){ if(n < 2) error(Ebadarg); diff --git a/alphapc/screen.h b/alphapc/screen.h index a68f98a616caeb6d7c28616a7253847cd279f6a1..0358a2479cf2e3ef3399535f454f34c73cb4c30b 100644 --- a/alphapc/screen.h +++ b/alphapc/screen.h @@ -139,7 +139,7 @@ extern void blankscreen(int); /* devdraw.c */ extern void deletescreenimage(void); extern int drawhasclients(void); - +extern ulong blanktime; /* vga.c */ extern void vgascreenwin(VGAscr*); extern void vgaimageinit(ulong); diff --git a/pc/devvga.c b/pc/devvga.c index e5e2054acc8662ba341d1387eda4182fbecb1aa1..4666710e3412f3bedbe91895edfb74fe4dc304b1 100644 --- a/pc/devvga.c +++ b/pc/devvga.c @@ -121,6 +121,7 @@ vgaread(Chan* c, void* a, long n, vlong off) physgscreenr.max.x, physgscreenr.max.y); } + len += snprint(p+len, READSTR-len, "blanktime %lud\n", blanktime); len += snprint(p+len, READSTR-len, "hwaccel %s\n", hwaccel ? "on" : "off"); len += snprint(p+len, READSTR-len, "hwblank %s\n", hwblank ? "on" : "off"); snprint(p+len, READSTR-len, "addr 0x%lux\n", scr->aperture); @@ -304,6 +305,11 @@ vgactl(char* a) drawblankscreen(1); return; } + else if(strcmp(field[0], "blanktime") == 0){ + if(n < 2) + error(Ebadarg); + blanktime = strtoul(field[1], 0, 0); + } else if(strcmp(field[0], "hwaccel") == 0){ if(n < 2) error(Ebadarg); diff --git a/pc/screen.h b/pc/screen.h index 7177d8cf4e8a5ecddf1b62c5a7abeb0ba6487e94..eb0c0d7b67a6912bf2555459f5cb9308d5e5cf85 100644 --- a/pc/screen.h +++ b/pc/screen.h @@ -137,6 +137,7 @@ extern void blankscreen(int); /* devdraw.c */ extern void deletescreenimage(void); extern int drawhasclients(void); +extern ulong blanktime; /* vga.c */ extern void vgascreenwin(VGAscr*); diff --git a/port/devcons.c b/port/devcons.c index 37c163fe47af25efd352928ec80fd416f33ebe2c..27e71fe6ed3e48fbb70df08ce6764fede52d16ee 100644 --- a/port/devcons.c +++ b/port/devcons.c @@ -278,7 +278,7 @@ echo(Rune r, char *buf, int n) consdebug = rdb; else consdebug = nil; - print("consdebug now 0x%lx\n", consdebug); + print("consdebug now 0x%p\n", consdebug); return; case 'D': if(consdebug == nil) diff --git a/port/devdraw.c b/port/devdraw.c index 794171a10dd90e173d04f196a6a4e48023727d40..54ce61675c93e99e1f25536c2b0bb721c48377d3 100644 --- a/port/devdraw.c +++ b/port/devdraw.c @@ -49,7 +49,7 @@ typedef struct Refresh Refresh; typedef struct Refx Refx; typedef struct DName DName; -#define BLANKTIME 30*60*1000 /* half hour */ +ulong blanktime = 30; /* in minutes; a half hour */ struct Draw { @@ -2018,7 +2018,7 @@ drawactive(int active) drawblankscreen(0); sdraw.blanktime = 0; }else{ - if(TK2MS(sdraw.blanktime) > BLANKTIME) + if(blanktime && TK2SEC(sdraw.blanktime)/60 >= blanktime) drawblankscreen(1); else sdraw.blanktime++;