Date: Tue, 27 Jan 1998 20:52:44 -0600 (CST) From: Joel Ray Holveck <joelh@gnu.org> To: dag-erli@ifi.uio.no Cc: hackers@FreeBSD.ORG Subject: Re: Graphical screen saver Message-ID: <199801280252.UAA08226@detlev.UUCP> In-Reply-To: <xzpyb01it8y.fsf@grjottunagard.ifi.uio.no> (dag-erli@ifi.uio.no) References: <xzpyb01it8y.fsf@grjottunagard.ifi.uio.no>
next in thread | previous in thread | raw e-mail | index | archive | help
> The source is in /pub/FreeBSD/incoming/logo_saver.tgz on wcarchive.
> You'll need to patch syscons.c to make it work; a unified diff and
> rudimentary installation instructions are included in the tarball.
> As always, I appreciate feedback of any kind...
I haven't compiled it yet, but here's my thoughts.
If we're going to do start doing graphical screensavers, then I
suggest making the mechanism more general, rather than requiring a
separate timeout. To this end, I recommend adding a variable whereby
the screensaver is responsible for letting syscons know if the current
mode is known to it. The new variable is scrn_saver_mode. The screen
saver is responsible for setting it when it changes the mode, and
setting it to 0 when it unblanks the screen. (The latter task should
probably be relegated to syscons.)
I haven't tested this yet; I'm recompiling now. If all goes well,
then I should have a screensaver ready hopefully tonight.
Happy hacking,
joelh
--- /usr/src/sys/i386/isa/syscons.c.ctm Tue Jan 20 00:09:06 1998
+++ /usr/src/sys/i386/isa/syscons.c Tue Jan 27 20:33:34 1998
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 1992-1997 Søren Schmidt
+ * Copyright (c) 1992-1998 Søren Schmidt
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -135,6 +135,7 @@
static int delayed_next_scr = FALSE;
static long scrn_blank_time = 0; /* screen saver timeout value */
int scrn_blanked = 0; /* screen saver active flag */
+ int scrn_saver_mode = 0;
static long scrn_time_stamp;
u_char scr_map[256];
u_char scr_rmap[256];
@@ -2163,7 +2164,8 @@
}
/* should we just return ? */
- if ((scp->status&UNKNOWN_MODE) || blink_in_progress || switch_in_progress) {
+ if (((scp->status&UNKNOWN_MODE)&&(scp->mode!=scrn_saver_mode))
+ || blink_in_progress || switch_in_progress) {
timeout(scrn_timer, NULL, hz / 10);
splx(s);
return;
--
Joel Ray Holveck - joelh@gnu.org - http://www.wp.com/piquan
Fourth law of programming:
Anything that can go wrong wi
sendmail: segmentation violation - core dumped
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199801280252.UAA08226>
