Rick Roar

ButWithRaptors:

Previously, previously, previously, previously, previously.

Tags: , , , ,

XScreenSaver was released 30 years ago

Newgroups: comp.windows.x.announce
Subject: xscreensaver 1.0 now available
From: jwz@LUCID.COM (Jamie Zawinski)
Date: 17 Aug 92 14:47:50 GMT
Message-ID: <9208171447.AA20797@expo.lcs.mit.edu>
Organization: Lucid, Inc., Menlo Park, CA
Path: sparky!uunet!sun-barr!cs.utexas.edu!uwm.edu!bionet!LUCID.COM!jwz

Get it from export.lcs.mit.edu in the file contrib/xsaver.tar.Z. The xscreensaver program waits until the keyboard and mouse have been idle for a period, and then runs a graphics demo chosen at random. It turns off as soon as there is any mouse or keyboard activity.

This is not a screen locker, like xlock -- it does not prevent others from using your terminal. Its purpose is to display pretty pictures on your screen when it is not in use, in keeping with the philosophy that unattended monitors should always be doing something interesting, just like they do in the movies.

The benefit that this program has over the combination of the xlock and xautolock programs is the ease with which new graphics hacks can be installed: you don't need to recompile this program to add a new display mode, you just change some resource settings. Any program which can be invoked in such a way that it draws on the root window of the screen can now be used as a screensaver without modification [*]. The programs that are being run as screensavers don't need to have any special knowledge about what it means to be a screensaver.

The XIdle extension will be used if you have it (win win.) If you haven't installed XIdle, you need to change a line in the Imakefile.

Also included are several graphics hacks for use as screensavers. There's nothing magic about these: they're just programs that draw on the root window, which are pointed at by the screensaver's default resource settings.

qix - My own implementation of this, with many more options than you would have thought qix could have. helix - Generates spirally "stringart" patterns. rorschach - Random inkblot patterns. attraction - A bouncing ball demo, or a qix-like demo, or a wild color-cycling thing, with some odd rules. greynetic - Random colored/stippled rectangles. rocks - Flying through an asteroid field. pyro - Fireworks. Looks a lot like the version in xlock. hopalong - Fractals. I snarfed this code from xlock. noseguy - A guy with a big nose wanders around the screen saying things. I snarfed this code from xnlock.

All of these will pop up their own window unless given that -root option. See their man pages for more details.

Other reasonable things to use as screensavers, if you have them, are

xdaliclock -root -builtin2 - melting digital clock xswarm -r 2>&- - swimming sperm xwave -root - random 3d graphs xbouncebits - bounce arbitrary bitmaps around ico -r - it's dull, but it's there xv -root file.gif -quit - they don't all have to animate!

You can get all of these from export.lcs.mit.edu. If you know of (or write) any other interesting programs that can be used as screensavers, please let me know!

-- Jamie Zawinski <jwz@lucid.com>

[*] It may be necessary to include "vroot.h" in the program, but that would be necessary for it to work with virtual-root window managers anyway.

I completely forgot about this anniversary until someone pointed it out to me, which is why this post is two days late!

Now here's a really sad story: I don't have a copy of XScreenSaver 1.0! The oldest version I have is 1.17 from 1993.

That first version was served from the FTP server export.lcs.mit.edu but I can't find an archive of that anywhere. It may also have been uploaded to comp.sources.x, but again, archives from 1992 seem to not exist at all. Probably there's an ISO of some Linux distro from 1992 or 1993 that still has the source of these versions, but if there is, I have not found it.

Go search, please!

I wasn't even able to find the unadulterated version of that original announcement post, only the mangled version on Google's debasement of the USENET archives. If you can find an archive of comp.windows.x.announce or comp.sources.x from 1992, particularly one that shows the original Message-IDs, please let me know. I checked Internet Archive but found nothing good. Update: Found!

For posterity, and in case they vanish again, here are the announcement messages of versions 1.05 in Nov 1992, and 1.09 (the first version with locking and demo-mode) in Feb 1993.

Newsgroups: comp.windows.x.announce
Subject: XScreenSaver 1.5 released
From: jwz@LUCID.COM (Jamie Zawinski)
Date: 30 Nov 92 15:33:44 GMT
Message-ID: <9211301533.AA19757@expo.lcs.mit.edu>
Distribution: inet
Organization: Lucid, Inc., Menlo Park, CA
Path: sparky!uunet!zaphod.mps.ohio-state.edu!uwm.edu!biosci!LUCID.COM!jwz

Get it from export.lcs.mit.edu: contrib/xsaver.tar.Z. New in this release:

- you can run it from xdm, so that the screensaver operates while nobody is logged in.

- imsmap is much faster with slow server connections (like dialup X terminals) and picks its colors more sensibly.

- you can use "xv" as a screensaver program without having it consume colormap entries even while the screensaver is inactive.

- xscreensaver-command has a new argument, -restart, which causes the existing screensaver process to restart itself (and thus notice any changes you've made to your resource database.)

- fixed a few bugs, including one that would cause the xscreensaver process to occasionally die of BadDrawable errors when in non-XIdle mode.

----------------------------------------------------------------- file: README

The xscreensaver program waits until the keyboard and mouse have been idle for a period, and then runs a graphics demo chosen at random. It turns off as soon as there is any mouse or keyboard activity.

This is not a screen locker, like xlock -- it does not prevent others from using your terminal. Its purpose is to display pretty pictures on your screen when it is not in use, in keeping with the philosophy that unattended monitors should always be doing something interesting, just like they do in the movies.

The benefit that this program has over the combination of the xlock and xautolock programs is the ease with which new graphics hacks can be installed: you don't need to recompile this program to add a new display mode, you just change some resource settings. Any program which can be invoked in such a way that it draws on the root window of the screen can now be used as a screensaver without modification [*]. The programs that are being run as screensavers don't need to have any special knowledge about what it means to be a screensaver.

The XIdle extension will be used if you have it (win win.) If you haven't installed XIdle, you need to change a line in the Imakefile.

Also included are several graphics hacks for use as screensavers. There's nothing magic about these: they're just programs that draw on the root window, which are pointed at by the screensaver's default resource settings.

qix - My own implementation of this, with many more options than you would have thought qix could have. helix - Generates spirally "stringart" patterns. rorschach - Random inkblot patterns. attraction - A bouncing ball demo, or a qix-like demo, or a wild color-cycling thing, with some odd rules. greynetic - Random colored/stippled rectangles. rocks - Flying through an asteroid field. blitspin - Rotate a bitmap using bitblts. imsmap - generates random maps or cloud formations pyro - Fireworks. Looks a lot like the version in xlock. hopalong - Fractals. I snarfed this code from xlock. noseguy - A guy with a big nose wanders around the screen saying things. I snarfed this code from xnlock.

All of these will pop up their own window unless given that -root option. See their man pages for more details.

Other reasonable things to use as screensavers, if you have them, are

xdaliclock -root -builtin2 - melting digital clock xswarm -r 2>&- - swimming sperm xwave -root - random 3d graphs xbouncebits - bounce arbitrary bitmaps around ico -r - it's dull, but it's there xv -root file.gif -quit - they don't all have to animate! xsplinefun - bouncing splines kaleid -root - qix-like kaleidescope patterns

You can get all of these from export.lcs.mit.edu. If you know of (or write) any other interesting programs that can be used as screensavers, please let me know!

-- Jamie Zawinski <jwz@lucid.com>

[*] It may be necessary to include "vroot.h" in the program, but that would be necessary for it to work with virtual-root window managers anyway.

Newsgroups: comp.windows.x.announce
Subject: XScreenSaver
From:jwz@LUCID.COM (Jamie Zawinski)
Date: Feb 25, 1993, 10:30:44 AM
Message-ID: <9302251830.AA15563@expo.lcs.mit.edu>
Distribution: inet
Path: sparky!uunet!ukma!wupost!howland.reston.ans.net!agate!biosci!LUCID.COM!jwz

XScreenSaver can now lock your display as well, and has a totally winning "demo" mode. You can get it from export.lcs.mit.edu in the file contrib/xscreensaver.tar.Z. Also, the install-colormap-mode works better now than it did in the last released version.

---------- slice 'n' dice --------------------------------------- file: README

The xscreensaver program waits until the keyboard and mouse have been idle for a period, and then runs a graphics demo chosen at random. It turns off as soon as there is any mouse or keyboard activity.

The purpose of xscreensaver is to display pretty pictures on your screen when it is not in use, in keeping with the philosophy that unattended monitors should always be doing something interesting, just like they do in the movies.

However, xscreensaver can also be used as a screen locker, to prevent others from using your terminal while your are away.

The benefit that this program has over the combination of the xlock and xautolock programs is the ease with which new graphics hacks can be installed: you don't need to recompile this program to add a new display mode, you just change some resource settings. Any program which can be invoked in such a way that it draws on the root window of the screen can now be used as a screensaver without modification [*]. The programs that are being run as screensavers don't need to have any special knowledge about what it means to be a screensaver.

The XIdle extension will be used if you have it (win win.) See the Imakefile for configuration parameters.

Also included are several graphics hacks for use as screensavers. There's nothing magic about these: they're just programs that draw on the root window, which are pointed at by the screensaver's default resource settings.

qix - My own implementation of this, with many more options than you would have thought qix could have. helix - Generates spirally "stringart" patterns. rorschach - Random inkblot patterns. attraction - A bouncing ball demo, or a qix-like demo, or a wild color-cycling thing, with some odd rules. greynetic - Random colored/stippled rectangles. rocks - Flying through an asteroid field. blitspin - Rotate a bitmap using bitblts. imsmap - generates random maps or cloud formations. hypercube - 2d projection of a hypercube rotating on all four axes. slidescreen - Divides the screen into a grid and plays a 16-puzzle on it. pyro - Fireworks. Looks a lot like the version in xlock. hopalong - Fractals. I snarfed this code from xlock. noseguy - A guy with a big nose wanders around the screen saying things. I snarfed this code from xnlock.

All of these will pop up their own window unless given that -root option. See their man pages for more details.

Other reasonable things to use as screensavers, if you have them, are

xdaliclock -root -builtin2 - melting digital clock xswarm -r 2>&- - swimming sperm xwave -root - random 3d graphs xbouncebits - bounce arbitrary bitmaps around ico -r - it's dull, but it's there xv -root file.gif -quit - they don't all have to animate! xsplinefun - bouncing splines kaleid -root - qix-like kaleidescope patterns

You can get all of these from export.lcs.mit.edu. If you know of (or write) any other interesting programs that can be used as screensavers, please let me know!

-- Jamie Zawinski <jwz@lucid.com>

[*] It may be necessary to include "vroot.h" in the program, but that would be necessary for it to work with virtual-root window managers anyway.

And here's what appears to be my first XScreenSaver-related LiveJournal post but that's from only twenty years ago. 4.03.

So my first thought was to fire up the oldest computer I still own and shoot a video of XScreenSaver running on that. I pulled my SGI Indy and SGI O2 off the shelf, but though they both make the still-delightful startup chime, I don't have a VGA monitor (or a PS/2 mouse...) and neither of them wants to play nice with the VGA to HDMI adapter I have. The Indy displays solid black, the O2 solid green. Beats me!

(A reminder that XScreenSaver predates not only HDMI, but USB...)

So instead, here are a couple of YouTube videos of what might be my first two screen savers. Imagine these running in 1-bit monochrome on a 960x640 CRT.

I probably wrote the first line of code in April or May 1991. If a time traveller had told me then, "this will be your life's work", I probably would have been as surprised by that as by ...gestures wildly... the Current State Of Affairs.

Previously, previously, previously, previously, previously.
Tags: , , , , , ,

  • Previously