M alphapc/devvga.c => alphapc/devvga.c +6 -0
@@ 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);
M alphapc/screen.h => alphapc/screen.h +1 -1
@@ 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);
M pc/devvga.c => pc/devvga.c +6 -0
@@ 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);
M pc/screen.h => pc/screen.h +1 -0
@@ 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*);
M port/devcons.c => port/devcons.c +1 -1
@@ 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)
M port/devdraw.c => port/devdraw.c +2 -2
@@ 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++;