Date: Wed, 28 Jan 1998 20:09:50 -0600 (CST) From: Joel Ray Holveck <joelh@gnu.org> To: tlambert@primenet.com Cc: dag-erli@ifi.uio.no, hackers@FreeBSD.ORG Subject: Re: Graphical screen saver Message-ID: <199801290209.UAA03840@detlev.UUCP> In-Reply-To: <199801290039.RAA24901@usr08.primenet.com> (message from Terry Lambert on Thu, 29 Jan 1998 00:39:37 %2B0000 (GMT)) References: <199801290039.RAA24901@usr08.primenet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
>>> If we're going to do start doing graphical screensavers, then I >>> suggest making the mechanism more general, rather than requiring a >> Yup. I'm all for Mike's (or was it Joel's?) idea of making a general >> shell for graphical screensavers, so that people can just write the >> image update code and not have to bother with the "hard bits" (i.e. >> making things work safely wrt syscons) > You may want to revisit DejaNews. > Several years ago, I was sent code from someone who did not want it > distributed. > The code ran AfterDark(tm) screensavers on FreeBSD 1.1.5. Under X or console mode? > I still have a 1.1.5.1 box that runs the "Spock and Horta" screen > saver if I boot it and leave it alone long enough... > It seems to me that the format to use today for a "general shell" > would be "whatever Windows 95 uses". I haven't hacked AfterDark in some time, but IIRC, it was designed to work with GDI calls. I doubt that it has changed. This would probably require more overhead than it's worth, although I wouldn't know. Windows screensavers are funny things. They are actually renamed executables (what isn't?) that are called when it's time to activate. They are then responsible for doing things like updating frames, deactivating on time, ensuring that they don't get called while they are active (yes, Windows *does* keep sending screen saver events while the saver's active!), etc, etc. The Windows SDK has SCRNSAVE.LIB, which is universally recognized to be a crock. OWL has its own screensaver interface routines. So does AfterDark, and although I haven't looked at it, I suspect that MFC does as well. There are plenty of Windows screensaver libraries, and they really aren't worth squat. The biggest problem with them all is that they all are GDI based, which I don't want to be in the FreeBSD kernel. I think that either source- or binary-level compatibility with either Windows or AfterDark screensavers is a major lose. I would prefer to keep things simple, and opt for making a good shell the first time. Remember, I'm mostly writing a template here. My code handles the mode switching, syscons interface, etc. and calls hacker-defined routines for variable initialization and the actual drawing. (The actual drawing is currently handled by direct memory writes.) I'm not writing a screensaver manager like AfterDark, although I wouldn't mind writing one if there's a call for it. Happy hacking, joelh -- 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?199801290209.UAA03840>