! a screen saver and locker for the X window system
! by Jamie Zawinski
!
-! version 3.22
-! 09-Dec-99
+! version 4.15
+! 26-Feb-2004
!
! See "man xscreensaver" for more info. The latest version is always
! available at http://www.jwz.org/xscreensaver/
! your home directory, the settings in that file take precedence.
-*timeout: 10
-*cycle: 10
-*lockTimeout: 0
-*passwdTimeout: 30
+! Don't hand this file to "xrdb" -- that isn't how app-defaults files work.
+! Though app-defaults files have (mostly) the same syntax as your ~/.Xdefaults
+! file, they are used differently, and if you run this file through xrdb,
+! you will probably mess things up.
+
+#error Do not run app-defaults files through xrdb!
+#error That does not do what you might expect.
+#error Put this file in /usr/lib/X11/app-defaults/XScreenSaver instead.
+
+! /* (xrdb prevention kludge: whole file)
+
+*timeout: 0:10:00
+*cycle: 0:10:00
+*lockTimeout: 0:00:00
+*passwdTimeout: 0:00:30
+*dpmsEnabled: False
+*dpmsStandby: 2:00:00
+*dpmsSuspend: 2:00:00
+*dpmsOff: 4:00:00
+*grabDesktopImages: True
+*grabVideoFrames: False
+*chooseRandomImages: False
+*imageDirectory:
*nice: 10
+*memoryLimit: 0
*lock: False
*lockVTs: True
*verbose: False
-*timestamp: False
+*timestamp: True
*fade: True
*unfade: False
-*fadeSeconds: 3
+*fadeSeconds: 0:00:03
*fadeTicks: 20
*splash: True
-*splashDuration: 5
+*splashDuration: 0:00:05
*visualID: default
-
*captureStderr: True
+*ignoreUninstalledPrograms: False
+
*overlayTextForeground: #FFFF00
*overlayTextBackground: #000000
*overlayStderr: True
! This is how the "Help" button loads URLs (/bin/sh syntax.)
! The "helpURL" will be substituted for up to two occurrences of "%s".
-*loadURL: netscape -remote 'openURL(%s)' || netscape '%s'
+@GNOMEHELP_N@*loadURL: mozilla '%s' || netscape '%s'
+@GNOMEHELP_Y@*loadURL: gnome-url-show '%s' || gnome-moz-remote --newwin '%s'
! This is what the "Manual" button in xscreensaver-demo runs (/bin/sh syntax.)
-*manualCommand: xterm +sb -fg black -bg gray75 -T '%s manual' \
- -e /bin/sh -c 'man "%s" || read foo'
-! Gnome folks might prefer this:
-!*manualCommand: gnome-help-browser 'man:%s'
+@GNOMEHELP_N@*manualCommand: xterm -sb -fg black -bg gray75 -T '%s manual' \
+@GNOMEHELP_N@ -e /bin/sh -c 'man "%s" ; read foo'
+! For GNOME systems:
+@GNOMEHELP_Y@*manualCommand: yelp 'man:%s' || gnome-help-browser 'man:%s'
! The format used for printing the date and time in the password dialog box
! *dateFormat: %H:%M
-! Turning on "installColormap" interacts erratically with twm and tvtwm,
-! but seems to work fine with mwm and olwm. Try it and see. If your
-! screen turns some color other than black, the window manager is buggy,
-! and you need to set this resource to False (or get a WM that works.)
+! Turning on "installColormap" on 8-bit systems interacts erratically with
+! certain jurassic window managers. If your screen turns some color other
+! than black, the window manager is buggy, and you need to set this resource
+! to false. Or switch WMs. Or join the 21st century and get a 24-bit
+! graphics card.
!
*installColormap: True
-! Any program which can draw on the root window will work as a screensaver.
-! The following resource enumerates them.
-!
-! Programs are separated by newlines (specified in resource files with \n).
-! Lines may be continued with a lone \ at the end of the line.
-!
-! Each line is an `sh' command.
-!
-! If the first (non-blank) character on the line is "-", then that means
-! that this command is disabled: it's still in the list, but it won't ever
-! be used. (This is just to make it easy to disable and then re-enable
-! them later.)
+! This is the list of installed screen saver modes. See "man xscreensaver"
+! for the syntax used here.
!
-! If the first word on the line is the name of a visual followed by a
-! colon, then that visual will be used for the program, if it is available.
-! If no such visual is available, then the program will be skipped. In
-! this way, you can specify that you want certain programs to run only
-! on color screens, and others only on mono screens, by making use of the
-! magic visual names "color" and "mono". Likewise, if some hacks prefer
-! colormaps, but others prefer 24-bit windows, that also can be arranged
-! (in this case, by using "PseudoColor:" versus "TrueColor:".)
+! If you want to disable a screensaver, DO NOT remove it from this list:
+! instead, mark it as inactive by placing a "-" at the beginning of the line.
!
-! Some of the screenhacks are written using OpenGL. OpenGL programs are
-! a bit different than normal X programs, in that they prefer visuals that
-! are *half* as deep as the screen. You can tell xscreensaver to select a
-! good visual for a GL program by using the magic visual name "GL".
-!
-! All programs must be launched in such a way that they draw on the root
-! window; they should not be spawned in the background with "&". If shell
-! metacharacters are used, they must be understandable to `sh', not `csh'
-! (the $SHELL variable is not consulted, for unfortunate but good reasons.)
-!
-! Be sure to check out Demo Mode: run the `xscreensaver-demo' program to
-! edit the current list of programs interactively, try out the various modes,
-! and change other parameters. See the man page for details.
+! You can use the `xscreensaver-demo' program to edit the current list of
+! screen savers interactively.
!
*programs: \
- "Qix (solid)" qix -root -solid -delay 0 -segments 100 \n\
+ "Qix (solid)" qix -root -solid -segments 100 \n\
"Qix (transparent)" qix -root -count 4 -solid -transparent \n\
"Qix (linear)" qix -root -count 5 -solid -transparent \
-linear -segments 250 -size 100 \n\
-- mono: "Qix (xor)" qix -root -linear -count 5 -size 200 \
+- "Qix (xor)" qix -root -linear -count 5 -size 200 \
-spread 30 -segments 75 -solid -xor \n\
\
"Attraction (balls)" attraction -root -mode balls \n\
rorschach -root -offset 7 \n\
hopalong -root \n\
greynetic -root \n\
- xroger -root \n\
imsmap -root \n\
slidescreen -root \n\
decayscreen -root \n\
"Ripples (stir)" ripples -root -oily -light 2 -stir \n\
"Ripples (desktop)" ripples -root -water -light 6 \n\
hypercube -root \n\
+- hyperball -root \n\
halo -root \n\
maze -root \n\
noseguy -root \n\
starfish -root \n\
"Starfish (blob)" starfish -root -blob \n\
munch -root \n\
+ mismunch -root \n\
fadeplot -root \n\
coral -root -delay 0 \n\
mountain -root \n\
xflame -root \n\
wander -root \n\
"Wander (spots)" wander -root -advance 0 -size 10 -circles \
- True -length 10000 -reset 100000 \n\
+ -length 10000 -reset 100000 \n\
critical -root \n\
phosphor -root \n\
xmatrix -root \n\
ccurve -root \n\
blaster -root \n\
bumps -root \n\
- color: bubbles -root \n\
- default-n: webcollage -root \n\
- default-n: "WebCollage (whacked)" \
+ xteevee -root \n\
+ xanalogtv -root \n\
+ xspirograph -root \n\
+ nerverot -root \n\
+- "NerveRot (dense)" nerverot -root -count 1000 \n\
+- "NerveRot (thick)" nerverot -root -count 100 -line-width 4 \
+ -max-nerve-radius 0.8 -nervousness 0.5 -db \n\
+ xrayswarm -root \n\
+- "Zoom (Fatbits)" zoom -root \n\
+ "Zoom (Lenses)" zoom -root -lenses \n\
+ rotzoomer -root \n\
+- "RotZoomer (mobile)" rotzoomer -root -move \n\
+- "RotZoomer (sweep)" rotzoomer -root -sweep \n\
+ whirlwindwarp -root \n\
+ "WhirlyGig" whirlygig -root \n\
+ "SpeedMine" speedmine -root \n\
+ "SpeedWorm" speedmine -root -worm \n\
+ vermiculate -root \n\
+ twang -root \n\
+ apollonian -root \n\
+ euler2d -root \n\
+ "Euler2d (dense)" euler2d -root -count 4000 -eulertail 400 \
+ -ncolors 230 \n\
+- juggle -root \n\
+ polyominoes -root \n\
+- thornbird -root \n\
+ fluidballs -root \n\
+ anemone -root \n\
+ halftone -root \n\
+ metaballs -root \n\
+ eruption -root \n\
+ popsquares -root \n\
+ barcode -root \n\
+ piecewise -root \n\
+ cloudlife -root \n\
+ "FontGlide" fontglide -root -page \n\
+ "FontGlide (scroller)" fontglide -root -scroll \n\
+ apple2 -root \n\
+ bubbles -root \n\
+ pong -root \n\
+ wormhole -root \n\
+ pacman -root \n\
+- default-n: webcollage -root \n\
+- default-n: "WebCollage (whacked)" \
webcollage -root -filter \
'vidwhacker -stdin -stdout' \n\
- default-n: vidwhacker -root \n\
\
@GL_KLUDGE@ GL: gears -root \n\
+@GL_KLUDGE@ GL: "Gears (planetary)" gears -root -planetary \n\
@GL_KLUDGE@ GL: superquadrics -root \n\
@GL_KLUDGE@ GL: morph3d -root \n\
@GL_KLUDGE@ GL: cage -root \n\
@GL_KLUDGE@ GL: lament -root \n\
@GL_KLUDGE@ GL: bubble3d -root \n\
@GL_KLUDGE@ GL: glplanet -root \n\
+@GL_KLUDGE@ GL: flurry -root -preset random \n\
@GL_KLUDGE@ GL: pulsar -root \n\
- GL: "Pulsar (textures)" \
pulsar -root -texture -mipmap \
-texture_quality -light -fog \n\
@GLE_KLUDGE@GL: extrusion -root \n\
@GL_KLUDGE@ GL: sierpinski3d -root \n\
+@GL_KLUDGE@ GL: menger -root \n\
+@GL_KLUDGE@ GL: "GFlux" gflux -root \n\
+@GL_KLUDGE@ GL: "GFlux (grab)" gflux -root -mode grab \n\
+@GL_KLUDGE@ GL: stonerview -root \n\
+@GL_KLUDGE@ GL: starwars -root \n\
+@GL_KLUDGE@ GL: gltext -root \n\
+@GL_KLUDGE@ GL: "GLText (clock)" gltext -text "%A%n%d %b %Y%n%r" -root \n\
+@GL_KLUDGE@ GL: "Molecule" molecule -root \n\
+@GL_KLUDGE@ GL: "Molecule (lumpy)" molecule -root -no-bonds -no-labels \n\
+@GL_KLUDGE@ GL: dangerball -root \n\
+@GL_KLUDGE@ GL: circuit -root \n\
+@GL_KLUDGE@ GL: engine -root \n\
+@GL_KLUDGE@ GL: flipscreen3d -root \n\
+@GL_KLUDGE@ GL: glsnake -root \n\
+@GL_KLUDGE@ GL: boxed -root \n\
+@GL_KLUDGE@ GL: "GLForestFire" glforestfire -root \n\
+- GL: "GLForestFire (rain)" glforestfire -root -rain \n\
+@GL_KLUDGE@ GL: sballs -root \n\
+@GL_KLUDGE@ GL: cubenetic -root \n\
+@GL_KLUDGE@ GL: spheremonics -root \n\
+@GL_KLUDGE@ GL: lavalite -root \n\
+@GL_KLUDGE@ GL: queens -root \n\
+@GL_KLUDGE@ GL: endgame -root \n\
+- GL: glblur -root \n\
+@GL_KLUDGE@ GL: atunnel -root \n\
+@GL_KLUDGE@ GL: flyingtoasters -root \n\
+@GL_KLUDGE@ GL: bouncingcow -root \n\
+@GL_KLUDGE@ GL: jigglypuff -root -random \n\
+@GL_KLUDGE@ GL: klein -root -random \n\
+@GL_KLUDGE@ GL: "HyperTorus (striped)" hypertorus -root \n\
+@GL_KLUDGE@ GL: "HyperTorus (solid)" hypertorus -root -solid -transp \n\
+@GL_KLUDGE@ GL: glmatrix -root \n\
+@GL_KLUDGE@ GL: cubestorm -root \n\
+@GL_KLUDGE@ GL: glknots -root \n\
+@GL_KLUDGE@ GL: blocktube -root \n\
+@GL_KLUDGE@ GL: flipflop -root \n\
+@GL_KLUDGE@ GL: antspotlight -root \n\
+- GL: glslideshow -root \n\
+@GL_KLUDGE@ GL: polytopes -root \n\
+@GL_KLUDGE@ GL: gleidescope -root \n\
+- GL: mirrorblob -root \n\
+@GL_KLUDGE@ GL: "MirrorBlob (color only)" \
+ mirrorblob -root -colour -no-texture \n\
+@GL_KLUDGE@ GL: blinkbox -root \n\
+@GL_KLUDGE@ GL: noof -root \n\
\
- xdaliclock -root -builtin3 -cycle \n\
- default-n: xearth -nofork -nostars -ncolors 50 \
-night 3 -wait 0 -timewarp 400.0 -pos \
sunrel/38/-30 \n\
-- ssystem -fullscreen :32 \n\
+- xplanet -vroot -wait 1 -timewarp 90000 \
+ -label -origin moon \n\
- xmountains -b -M -Z 0 -r 1 \n\
- "XMountains (top)" xmountains -b -M -Z 0 -r 1 -m \n\
-- xaos -root -autopilot -incoloring -1 \
- -nogui -outcoloring -1 \n\
-- xfishtank -d \n
-
-
-! To display a randomized slideshow of images, you can do something like this:
-!
-! default-n: "Slideshow" xv -root -rmode 5 -random -viewonly \
-! -wloop -wait 30 $HOME/bitmaps/*.jpg \n\
-!
-! or, if you prefer "xli" to "xv", like this: (but note that xli's "-delay"
-! option doesn't work in conjunction with "-onroot", so you need to add a
-! line for each image individually... "xv" is better in this respect.)
-!
-! default-n: xli -quiet -onroot -center -border black \
-! $HOME/bitmaps/pic1.jpg \n\
-! default-n: xli -quiet -onroot -center -border black \
-! $HOME/bitmaps/pic2.jpg \n\
-! default-n: xli -quiet -onroot -center -border black \
-! $HOME/bitmaps/pic3.jpg \n\
-!
-! Note that we've used "default-n" as the visual name, rather than just
-! "default": this means "default visual, no install", that is, it's like
-! specifying the command-line arguments "-visual default -no-install".
-! This is necessary because, when XV or XLI arerunning in "-root" mode, they
-! always assume that the default visual and colormap are being used, rather
-! than examining the window it is drawing on to see what visual and colormap
-! it has. If we didn't force the default visual to be used, we would get an
-! X error. If we didn't force the default colormap to be installed, the
-! colors would be all wrong. "default-i" may also be used as a visual name
-! (meaning, "-visual default -install") but you probably won't ever need
-! to use that.
-!
-!
-! Some of the GL demos that SGI ships work with XScreenSaver; most don't.
-! XScreenSaver includes a program (not built or installed by default)
-! called "xscreensaver-sgigl". To use the SGI demos with XScreenSaver,
-! build that program, and use it to launch the SGI demos. For example,
-! on Irix 6.2, you can do this:
-!
-! xscreensaver-sgigl /usr/demos/bin/ep -S
-! xscreensaver-sgigl /usr/demos/bin/bongo
-!
-! On Irix 6.3, things have moved, so you need to do it like this:
-!
-! xscreensaver-sgigl /usr/sbin/ep -S
-!
-! You can also use the "ant" demo, but first you need to wrap a shell script
-! around it that cds to its home directory, so that it can find its files;
-! and also pass it the -S argument, to prevent it from forking. What a mess!
-! Basically, the SGI demo writers went out of their way to make my life hell.
+- xaos -root -autopilot -nogui -delay 10000 \
+ -maxframerate 30 \
+ -incoloring -1 -outcoloring -1 \n\
+- xfishtank -d -s \n\
+- xsnow \n\
+- goban -root \n\
+- electricsheep \n\
+- cosmos -root \n\
+- GL: sphereEversion --root \n\
+- GL: fireflies -root \n
!=============================================================================
-XScreenSaver.pointerPollTime: 5
-XScreenSaver.initialDelay: 0
-XScreenSaver.windowCreationTimeout: 30
+XScreenSaver.pointerPollTime: 0:00:05
+XScreenSaver.initialDelay: 0:00:00
+XScreenSaver.windowCreationTimeout: 0:00:30
XScreenSaver.bourneShell: /bin/sh
*Dialog.buttonFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
*Dialog.dateFont: *-courier-medium-r-*-*-*-80-*-*-*-iso8859-1
*Dialog.foreground: #000000
-*Dialog.background: #BFBFBF
+*Dialog.background: #D6D6D6
*Dialog.Button.foreground: #000000
-*Dialog.Button.background: #D0D0D0
+*Dialog.Button.background: #EAEAEA
+!*Dialog.Button.background: #D6D6D6
+!*Dialog.Button.pointBackground: #EAEAEA
+!*Dialog.Button.clickBackground: #C3C3C3
*Dialog.text.foreground: #000000
*Dialog.text.background: #FFFFFF
-*Dialog.logo.foreground: #FF0000
-*Dialog.logo.background: #FFFFFF
-*Dialog.topShadowColor: #E7E7E7
-*Dialog.bottomShadowColor: #737373
-*Dialog.logo.width: 200
-*Dialog.logo.height: 200
+*passwd.thermometer.foreground: #FF0000
+*passwd.thermometer.background: #FFFFFF
+*Dialog.topShadowColor: #FFFFFF
+*Dialog.bottomShadowColor: #666666
+*Dialog.logo.width: 210
+*Dialog.logo.height: 210
*Dialog.internalBorderWidth: 30
*Dialog.borderWidth: 1
-*Dialog.shadowThickness: 4
+*Dialog.shadowThickness: 2
*passwd.heading.label: XScreenSaver %s
*passwd.body.label: This display is locked.
*passwd.thermometer.width: 8
*splash.heading.label: XScreenSaver %s
-*splash.body.label: Copyright © 1991-1999 by
+*splash.body.label: Copyright © 1991-2004 by
*splash.body2.label: Jamie Zawinski <jwz@jwz.org>
-*splash.demo.label: Demo
-*splash.prefs.label: Prefs
+*splash.demo.label: Settings
*splash.help.label: Help
*demoDialog*label1.fontList: *-helvetica-medium-r-*-*-*-140-*-*-*-iso8859-1
*cmdText.fontList: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
*label0.fontList: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
-*doc.fontList: *-helvetica-medium-r-*-*-*-100-*-*-*-iso8859-1
+XScreenSaver*doc.fontList: *-helvetica-medium-r-*-*-*-100-*-*-*-iso8859-1
+! above must be fully qualified to get around *sgiMode.
*foreground: #000000
*background: #C0C0C0
*Cancel.bottomOffset: 10
-
-
!=============================================================================
!
-! Online documentation for xscreensaver-demo.
+! Pretty names for the hacks that have unusual capitalization.
!
!=============================================================================
-! sanity check -- hands off.
+*hacks.imsmap.name: IMSmap
+*hacks.slidescreen.name: SlideScreen
+*hacks.decayscreen.name: DecayScreen
+*hacks.blitspin.name: BlitSpin
+*hacks.lmorph.name: LMorph
+*hacks.ifs.name: IFS
+*hacks.fadeplot.name: FadePlot
+*hacks.bsod.name: BSOD
+*hacks.rd-bomb.name: RD-Bomb
+*hacks.t3d.name: T3D
+*hacks.shadebobs.name: ShadeBobs
+*hacks.ccurve.name: C Curve
+*hacks.xteevee.name: XTeeVee
+*hacks.xanalogtv.name: XAnalogTV
+*hacks.xspirograph.name: XSpiroGraph
+*hacks.nerverot.name: NerveRot
+*hacks.webcollage.name: WebCollage
+*hacks.vidwhacker.name: VidWhacker
+*hacks.morph3d.name: Morph3D
+*hacks.bubble3d.name: Bubble3D
+*hacks.sierpinski3d.name: Sierpinski3D
+*hacks.gflux.name: GFlux
+*hacks.xrayswarm.name: XRaySwarm
+*hacks.whirlwindwarp.name: WhirlwindWarp
+*hacks.rotzoomer.name: RotZoomer
+*hacks.stonerview.name: StonerView
+*hacks.starwars.name: StarWars
+*hacks.dangerball.name: DangerBall
+*hacks.whirlygig.name: WhirlyGig
+*hacks.speedmine.name: SpeedMine
+*hacks.glforestfire.name: GLForestFire
+*hacks.sballs.name: SBalls
+*hacks.xdaliclock.name: XDaliClock
+*hacks.xplanetbg.name: XPlanet
+*hacks.xplanet.name: XPlanet
+*hacks.xaos.name: XaoS
+*hacks.xfishtank.name: XFishTank
+*hacks.electricsheep.name: ElectricSheep
+*hacks.sphereEversion.name: SphereEversion
+*hacks.fluidballs.name: FluidBalls
+*hacks.flyingtoasters.name: FlyingToasters
+*hacks.bouncingcow.name: BouncingCow
+*hacks.jigglypuff.name: JigglyPuff
+*hacks.hypertorus.name: HyperTorus
+*hacks.cubestorm.name: CubeStorm
+*hacks.blocktube.name: BlockTube
+*hacks.flipflop.name: FlipFlop
+*hacks.antspotlight.name: AntSpotlight
+*hacks.fontglide.name: FontGlide
+*hacks.mirrorblob.name: MirrorBlob
+*hacks.blinkbox.name: BlinkBox
+
+! obsolete, but still used by xscreensaver-demo-Xm.
*hacks.documentation.isInstalled: True
-*hacks.grav.documentation: \
-This program draws a simple orbital simulation. If you turn on \
-trails, it looks kind of like a cloud-chamber photograph. Written by \
-Greg Bowering.
-
-*hacks.qix.documentation: \
-This is the swiss army chainsaw of qix programs. It bounces a series \
-of line segments around the screen, and uses variations on this basic \
-motion pattern to produce all sorts of different presentations: line \
-segments, filled polygons, overlapping translucent areas... Written \
-by Jamie Zawinski.
-
-*hacks.attraction.documentation: \
-Like qix, this uses a simple simple motion model to generate many \
-different display modes. The control points attract each other up to \
-a certain distance, and then begin to repel each other. The \
-attraction/repulsion is proportional to the distance between any two \
-particles, similar to the strong and weak nuclear forces. \
- \n\n\
-One of the most interesting ways to watch this hack is simply as \
-bouncing balls, because their motions and interactions with each \
-other are so odd. Sometimes two balls will get into a tight orbit \
-around each other, to be interrupted later by a third, or by the edge \
-of the screen. It looks quite chaotic. \
- \n\n\
-Written by Jamie Zawinski, based on Lisp code by John Pezaris.
-
-*hacks.pyro.documentation: \
-Pyro draws exploding fireworks. Blah blah blah. Written by Jamie \
-Zawinski.
-
-*hacks.helix.documentation: \
-This repeatedly generates spirally string-art-ish patterns. Written \
-by Jamie Zawinski.
-
-*hacks.pedal.documentation: \
-This is sort of a combination spirograph/string-art. It generates a \
-large, complex polygon, and lets the X server do the bulk of the work \
-by giving it an even/odd winding rule. Written by Dale Moore, based \
-on some ancient PDP-11 code.
-
-*hacks.rorschach.documentation: \
-This generates random inkblot patterns. The algorithm is deceptively \
-simple for how well it works; it merely walks a dot around the screen \
-randomly, and then reflects the image horizontally, vertically, or \
-both. Any deep-seated neurotic tendencies which this program reveals \
-are your own problem. Written by Jamie Zawinski.
-
-*hacks.hopalong.documentation: \
-This draws lacy fractal patterns, based on iteration in the imaginary \
-plane, from a 1986 Scientific American article. Mostly written by \
-Patrick Naughton.
-
-*hacks.greynetic.documentation: \
-This draws random colored and stippled rectangles. Written by Jamie \
-Zawinski.
-
-*hacks.xroger.documentation: \
-The XScreenSaver logo. Don't you hate it? So do I. Would you like \
-to design a new logo for XScreenSaver? If so, send jwz your \
-submissions.
-
-*hacks.imsmap.name: IMSmap
-*hacks.imsmap.documentation: \
-This generates random cloud-like patterns. It looks quite different \
-in monochrome and color. The basic idea is to take four points on \
-the edge of the image, and assign each a random ``elevation''. Then \
-find the point between them, and give it a value which is the average \
-of the other four, plus some small random offset. Then coloration is \
-done based on elevation. \
- \n\n\
-The color selection is done by binding the elevation to either hue, \
-saturation, or brightness, and assigning random values to the others. \
-The ``brightness'' mode tends to yield cloudlike patterns, and the \
-others tend to generate images that look like heat-maps or CAT-scans. \
-Written by Juergen Nickelsen and Jamie Zawinski.
-
-*hacks.slidescreen.name: SlideScreen
-*hacks.slidescreen.documentation: \
-This grabs an image of whatever is on your screen, divides it into a \
-grid, and then randomly shuffles the squares around as if it was one \
-of those annoying ``16-puzzle'' games, where there is a grid of \
-squares, one of which is missing. I hate trying to solve those \
-puzzles, but watching one permute itself is more amusing. Written by \
-Jamie Zawinski.
-
-*hacks.decayscreen.name: DecayScreen
-*hacks.decayscreen.documentation: \
-This grabs an image of whatever is on your screen, and makes it melt. \
-You've no doubt seen this effect before, but no screensaver would \
-really be complete without it. It works best if there's something \
-colorful visible. Warning, if the effect continues after the screen \
-saver is off, seek medical attention. Written by David Wald and \
-Vivek Khera. \
- \n\n\
-A number of these screenhacks have the ability to take an image of \
-your desktop and manipulate it in some way. On SGI systems, these \
-programs are able to (at random) pull their source image from the \
-system's video input instead! This works nicely if you leave some \
-some random television station plugged in.
-
-*hacks.jigsaw.documentation: \
-This grabs a screen image, carves it up into a jigsaw puzzle, \
-shuffles it, and then solves the puzzle. This works especially well \
-when you feed it an external video signal instead of letting it grab \
-the screen image (actually, I guess this is generally true...) When \
-it is grabbing a video image, it is sometimes pretty hard to guess \
-what the image is going to look like once the puzzle is solved. \
-Written by Jamie Zawinski.
-
-*hacks.blitspin.name: BlitSpin
-*hacks.blitspin.documentation: \
-The ``blitspin'' hack repeatedly rotates a bitmap by 90 degrees by \
-using logical operations: the bitmap is divided into quadrants, and \
-the quadrants are shifted clockwise. Then the same thing is done \
-again with progressively smaller quadrants, except that all \
-sub-quadrants of a given size are rotated in parallel. Written by \
-Jamie Zawinski based on some cool SmallTalk code seen in in Byte \
-Magazine in 1981. \
- \n\n\
-As you watch it, the image appears to dissolve into static and then \
-reconstitute itself, but rotated. You can provide the image to use, \
-as an XBM or XPM file, or tell it to grab a screen image and rotate \
-that.
-
-*hacks.slip.documentation: \
-This program throws some random bits on the screen, then sucks them \
-through a jet engine and spews them out the other side. To avoid \
-turning the image completely to mush, every now and then it will and \
-then it interjects some splashes of color into the scene, or go into \
-a spin cycle, or stretch the image like taffy, or (this is my \
-addition) grab an image of your current desktop to chew on. \
-Originally written by Scott Draves; whacked on by Jamie Zawinski.
-
-*hacks.distort.documentation: \
-This hack grabs an image of the screen, and then lets a transparent \
-lens wander around the screen, magnifying whatever is underneath. \
-Written by Jonas Munsin.
-
-*hacks.spotlight.documentation: \
-Draws a spotlight scanning across a black screen, illumnating the \
-underlying desktop when it passes. Written by Rick Schultz.
-
-*hacks.hypercube.documentation: \
-This displays 2D projections of the sequence of 3D objects which are \
-the projections of the 4D analog to the cube: as a square is composed \
-of four lines, each touching two others; and a cube is composed of \
-six squares, each touching four others; a hypercube is composed of \
-eight cubes, each touching six others. To make it easier to \
-visualize the rotation, it uses a different color for the edges of \
-each face. Don't think about it too long, or your brain will melt. \
-Written by Joe Keane, Fritz Mueller, and Jamie Zawinski.
-
-*hacks.halo.documentation: \
-This draws trippy psychedelic circular patterns that hurt to look at. \
-It can also animate the control-points, but that takes a lot of CPU \
-and bandwidth. Written by Jamie Zawinski.
-
-*hacks.maze.documentation: \
-This is the ancient X maze demo, modified to work with xscreensaver. \
-It generates a random maze, then solves it with visual feedback. \
-Originally by Jim Randell; modified by a cast of thousands.
-
-*hacks.noseguy.documentation: \
-A little man with a big nose wanders around your screen saying \
-things. The things which he says can come from a file, or from an \
-external program like `zippy' or `fortune'. This was extracted from \
-`xnlock' by Dan Heller. Colorized by Jamie Zawinski.
-
-*hacks.flame.documentation: \
-Another iterative fractal generator. Written by Scott Draves.
-
-*hacks.lmorph.name: LMorph
-*hacks.lmorph.documentation: \
-This generates random spline-ish line drawings and morphs between \
-them. Written by Sverre H. Huseby and Glenn T. Lines.
-
-*hacks.deco.documentation: \
-This one subdivides and colors rectangles randomly. It looks kind of \
-like Brady-Bunch-era rec-room wall paneling. (Raven says: ``this \
-screensaver is ugly enough to peel paint.'') Written by Jamie \
-Zawinski, inspired by Java code by Michael Bayne.
-
-*hacks.moire.documentation: \
-This one draws cool circular interference patterns. Most of the \
-circles you see aren't explicitly rendered, but show up as a result \
-of interactions between the other pixels that were drawn. Written by \
-Jamie Zawinski, inspired by Java code by Michael Bayne. As he \
-pointed out, the beauty of this one is that the heart of the display \
-algorithm can be expressed with just a pair of loops and a handful of \
-arithmetic, giving it a high ``display hack metric''.
-
-*hacks.moire2.documentation: \
-Another example of the fun you can have with moire \
-interference patterns; this hack generates fields of concentric \
-circles or ovals, and combines the planes with various operations. \
-The planes are moving independently of one another, causing the \
-interference lines to ``spray.'' Written by Jamie Zawinski.
-
-*hacks.lightning.documentation: \
-This one draws crackling fractal lightning bolts. It's simple, \
-direct, and to the point. If only it had sound... Written by Keith \
-Romberg.
-
-*hacks.strange.documentation: \
-This draws strange attractors: it's a colorful, \
-unpredictably-animating field of dots that swoops and twists around. \
-The motion is very nice. Written by Massimino Pascal.
-
-*hacks.spiral.documentation: \
-Moving circular patterns, by Peter Schmitzberger. Moving circular \
-patterns means moire; interference patterns, of course.
-
-*hacks.laser.documentation: \
-Moving radiating lines, that look vaguely like scanning laser beams. \
-Written by Pascal Pensa. (Frankie say: relax.)
-
-*hacks.grav.documentation: \
-This program draws a simple orbital simulation. If you turn on \
-trails, it looks kind of like a cloud-chamber photograph. Written \
-by Greg Bowering.
-
-*hacks.drift.documentation: \
-How could one possibly describe this except as ``drifting recursive \
-fractal cosmic flames?'' Another fine hack from the Scott Draves \
-collection of fine hacks.
-
-*hacks.ifs.name: IFS
-*hacks.ifs.documentation: \
-This one draws spinning, colliding iterated-function-system images. \
-Written by Massimino Pascal.
-
-*hacks.julia.documentation: \
-This one draws spinning, animating (are you detecting a pattern here \
-yet?) explorations of the Julia set. You've probably seen static \
-images of this fractal form before, but it's a lot of fun to watch in \
-motion as well. One interesting thing is that there is a small \
-swinging dot passing in front of the image, which indicates the \
-control point from which the rest of the image was generated. \
-Written by Sean McCullough.
-
-*hacks.penrose.documentation: \
-Draws quasiperiodic tilings; think of the implications on modern \
-formica technology. Written by Timo Korvola. \
- \n\n\
-In April 1997, Sir Roger Penrose, a British math professor who has \
-worked with Stephen Hawking on such topics as relativity, black \
-holes, and whether time has a beginning, filed a \
-copyright-infringement lawsuit against the Kimberly-Clark \
-Corporation, which Penrose said copied a pattern he created (a \
-pattern demonstrating that ``a nonrepeating pattern could exist in \
-nature'') for its Kleenex quilted toilet paper. Penrose said he \
-doesn't like litigation but, ``When it comes to the population of \
-Great Britain being invited by a multinational to wipe their bottoms \
-on what appears to be the work of a Knight of the Realm, then a last \
-stand must be taken.'' \
- \n\n\
-As reported by News of the Weird #491, 4-jul-1997.
-
-*hacks.sierpinski.documentation: \
-This draws the two-dimensional variant of the recursive Sierpinski \
-triangle fractal. Written by Desmond Daignault.
-
-*hacks.braid.documentation: \
-Draws random color-cycling inter-braided concentric circles. Written \
-by John Neil.
-
-*hacks.galaxy.documentation: \
-This draws spinning galaxies, which then collide and scatter their \
-stars to the, uh, four winds or something. Originally an Amiga \
-program by Uli Siegmund.
-
-*hacks.bouboule.documentation: \
-This draws what looks like a spinning, deforming baloon with \
-varying-sized spots painted on its invisible surface. Written by \
-Jeremie Petit.
-
-*hacks.swirl.documentation: \
-More flowing, swirly patterns. This version is by M. Dobie and R. \
-Taylor, but you might have seen a Mac program similar to this called \
-FlowFazer. There is also a cool Java applet of a similar concept
-
-*hacks.flag.documentation: \
-This draws a waving colored flag, that undulates its way around the \
-screen. The trick is the flag can contain arbitrary text and images. \
-By default, it displays either the current system name and OS \
-type, or a picture of ``Bob,'' but you can replace the text or the \
-image with a command-line option. Written by Charles Vidal and Jamie \
-Zawinski.
-
-*hacks.sphere.documentation: \
-Another of the classic screenhacks of the distant past, this one \
-draws shaded spheres in multiple colors. This hack traces its \
-lineage back to Tom Duff in 1982.
-
-*hacks.forest.documentation: \
-This draws fractal trees. Written by Peter Baumung. Everybody loves \
-fractals, right?
-
-*hacks.lisa.documentation: \
-This draws Lisajous loops, by Caleb Cullen. Remember that device \
-they had the Phantom Zone prisoners in during their trial in \
-Superman? I think that was one of these.
-
-*hacks.lissie.documentation: \
-Another Lissajous figure. This one draws the progress of circular \
-shapes along a path. Written by Alexander Jolk.
-
-*hacks.goop.documentation: \
-This draws set of animating, transparent, amoeba-like blobs. The \
-blobs change shape as they wander around the screen, and they are \
-translucent, so you can see the lower blobs through the higher ones, \
-and when one passes over another, their colors merge. Written by \
-Jamie Zawinski. I got the idea for this from a cool mouse pad I \
-have, which achieves the same kind of effect in real life by having \
-several layers plastic with colored oil between them. Written by \
-Jamie Zawinski.
-
-*hacks.starfish.documentation: \
-This generates a sequence of undulating, throbbing, star-like \
-patterns which pulsate, rotate, and turn inside out. Another display \
-mode uses these shapes to lay down a field of colors, which are then \
-cycled. The motion is very organic. Written by Jamie Zawinski.
-
-*hacks.munch.documentation: \n\
- DATAI 2 \n\
- ADDB 1,2 \n\
- ROTC 2,-22 \n\
- XOR 1,2 \n\
- JRST .-4 \n\
- \n\
-As reported by HAKMEM, in 1962, Jackson Wright wrote the above PDP-1 \
-code. That code still lives on in this screenhack, some 35 years \
-later. The number of lines of enclosing code has increased \
-substantially, however. This version is by Tim Showalter.
-
-*hacks.fadeplot.name: FadePlot
-*hacks.fadeplot.documentation: \
-Draws what looks like a waving ribbon following a sinusoidal path. \
-Written by Bas van Gaalen and Charles Vidal.
-
-*hacks.coral.documentation: \
-Simulates coral growth, albeit somewhat slowly. This image doesn't \
-really do it justice. Written by Frederick Roeber.
-
-*hacks.mountain.documentation: \
-Generates random 3d plots that look vaguely mountainous. Written by \
-Pascal Pensa.
-
-*hacks.triangle.documentation: \
-Generates random mountain ranges using iterative subdivision of \
-triangles. Written by Tobias Gloth.
-
-*hacks.worm.documentation: \
-An ancient xlock hack that draws multicolored worms that crawl around \
-the screen. Written by Brad Taylor, Dave Lemke, Boris Putanec, and \
-Henrik Theiling.
-
-*hacks.rotor.documentation: \
-Another ancient xlock demo, this one by Tom Lawrence. It draws a \
-line segment moving along a complex spiraling curve. I tweaked this \
-to generate curvier lines, but still frames of it don't look like \
-much.
-
-*hacks.ant.documentation: \
-A cellular automaton that is really a two-dimensional Turing machine: \
-as the heads (``ants'') walk along the screen, they change pixel \
-values in their path. Then, as they pass over changed pixels, their \
-behavior is influenced. Written by David Bagley.
-
-*hacks.demon.documentation: \
-A cellular automaton that starts with a random field, and organizes \
-it into stripes and spirals. Written by David Bagley.
-
-*hacks.loop.documentation: \
-This one produces loop-shaped colonies that spawn, age, and \
-eventually die. Written by David Bagley.
-
-*hacks.vines.documentation: \
-This one generates a continuous sequence of small, curvy geometric \
-patterns. It scatters them around your screen until it fills up, \
-then it clears the screen and starts over. Written by Tracy Camp and \
-David Hansen.
-
-*hacks.kaleidescope.documentation: \
-Another clone of an ancient meme, consisting largely of frenetic \
-rotational motion of colored lines. This one is by Ron Tapia. The \
-motion is nice, but I think it needs more solids, or perhaps just \
-brighter colors. More variations in the rotational speed might help, \
-too.
-
-*hacks.xjack.documentation: \
-This program behaves schizophrenically and makes a lot of typos. \
-Written by Jamie Zawinski. If you haven't seen Stanley Kubrick's \
-masterpiece, ``The Shining,'' you won't get it. Those who have \
-describe this hack as ``inspired.''
-
-*hacks.xlyap.documentation: \
-This generates pretty fractal pictures by doing funky math involving \
-the ``Lyapunov exponent.'' It has a cool interactive mode, too. \
-Written by Ron Record.
-
-*hacks.cynosure.documentation: \
-A hack similar to `greynetic', but less frenetic. The first \
-implementation was by Stephen Linhart; then Ozymandias G. Desiderata \
-wrote a Java applet clone. That clone was discovered by Jamie \
-Zawinski, and ported to C for inclusion here.
-
-*hacks.flow.documentation: \
-Another series of strange attractors: a flowing series of points, \
-making strange rotational shapes. Written by Jeff Butterworth.
-
-*hacks.epicycle.documentation: \
-This program draws the path traced out by a point on the edge of a \
-circle. That circle rotates around a point on the rim of another \
-circle, and so on, several times. These were the basis for the \
-pre-heliocentric model of planetary motion. Written by James \
-Youngman.
-
-*hacks.interference.documentation: \
-Another color-field hack, this one works by computing decaying \
-sinusoidal waves, and allowing them to interfere with each other as \
-their origins move. Written by Hannu Mallat.
-
-*hacks.truchet.documentation: \
-This draws line- and arc-based Truchet patterns that tile the screen. \
-Written by Adrian Likins.
-
-*hacks.bsod.name: BSOD
-*hacks.bsod.documentation: \
-BSOD stands for ``Blue Screen of Death.'' The finest in personal \
-computer emulation, this hack simulates popular screen savers from a \
-number of less robust operating systems. Written by Jamie Zawinski.
-
-*hacks.crystal.documentation: \
-Moving polygons, similar to a kaleidescope (more like a kaleidescope \
-than the hack called `kaleid,' actually.) This one by Jouk Jansen.
-
-*hacks.discrete.documentation: \
-More ``discrete map'' systems, including new variants of Hopalong and \
-Julia, and a few others. Written by Tim Auckland.
-
-*hacks.kumppa.documentation: \
-Spiraling, spinning, and very, very fast splashes of color rush \
-toward the screen. Written by Teemu Suutari.
-
-*hacks.rd-bomb.name: RD-Bomb
-*hacks.rd-bomb.documentation: \
-Another variation of the `Bomb' program by Scott Draves. This draws \
-a grid of growing square-like shapes that, once they overtake each \
-other, react in unpredictable ways. ``RD'' stands for \
-reaction-diffusion.
-
-*hacks.sonar.documentation: \
-This program draws a simulation of a sonar screen. Written by \
-default, it displays a random assortment of ``bogies'' on the screen, \
-but if compiled properly, it can ping (pun intended) your local \
-network, and actually plot the proximity of the other hosts on your \
-network to you. It would be easy to make it monitor other sources of \
-data, too. (Processes? Active network connections? CPU usage per \
-user?) Written by Stephen Martin.
-
-*hacks.t3d.name: T3D
-*hacks.t3d.documentation: \
-This draws a working analog clock composed of floating, throbbing \
-bubbles. Written by Bernd Paysan.
-
-*hacks.penetrate.documentation: \
-This hack simulates the classic arcade game Missile Command. Written \
-by Adam Miller.
-
-*hacks.deluxe.documentation: \
-This draws a pulsing sequence of stars, circles, and lines. It would \
-look better if it was faster, but as far as I can tell, there is no \
-way to make this be both: fast, and flicker-free. Yet another reason \
-X sucks. Written by Jamie Zawinski.
-
-*hacks.compass.documentation: \
-This draws a compass, with all elements spinning about randomly, for \
-that ``lost and nauseous'' feeling. Written by Jamie Zawinski.
-
-*hacks.squiral.documentation: \
-Draws a set of interacting, square-spiral-producing automata. The \
-spirals grow outward until they hit something, then they go around \
-it. Written by Jeff Epler.
-
-*hacks.xflame.documentation: \
-Draws a simulation of pulsing fire. It can also take an arbitrary \
-image and set it on fire too. Written by Carsten Haitzler, hacked on \
-by many others.
-
-*hacks.wander.documentation: \
-Draws a colorful random-walk, in various forms. Written by Rick \
-Campbell.
-
-*hacks.critical.documentation: \
-Draws a system of self-organizing lines. It starts out as random \
-squiggles, but after a few iterations, order begins to appear. \
-Written by Martin Pool.
-
-*hacks.phosphor.documentation: \
-Draws a simulation of an old terminal, with large pixels and \
-long-sustain phosphor. It can run any program as a source of the text \
-it displays. Written by Jamie Zawinski.
-
-*hacks.xmatrix.documentation: \
-A rendition of the text scrolls seen in the movie ``The Matrix.'' \
-Written by Jamie Zawinski.
-
-*hacks.petri.documentation: \
-This simulates colonies of mold growing in a petri dish. Growing \
-colored circles overlap and leave spiral interference in their wake. \
-Written by Dan Bornstein.
-
-*hacks.shadebobs.name: ShadeBobs
-*hacks.shadebobs.documentation: \
-This draws smoothly-shaded oscilating oval patterns, that look \
-something like vapor trails or neon tubes. Written by Shane Smit.
-
-*hacks.ccurve.name: C Curve
-*hacks.ccurve.documentation: \
-Generates self-similar linear fractals, including the classic ``C \
-Curve.'' Written by Rick Campbell.
-
-*hacks.blaster.documentation: \
-Draws a simulation of flying space-combat robots (cleverly disguised \
-as colored circles) doing battle in front of a moving star field. \
-Written by Jonathan Lin.
-
-*hacks.bumps.documentation: \
-A bit like `Spotlight', except that instead of merely exposing part \
-of your desktop, it creates a bump map from it. Basically, it \
-3D-izes a roaming section of your desktop, based on color intensity. \
-Written by Shane Smit.
-
-*hacks.webcollage.name: WebCollage
-*hacks.webcollage.documentation: \
-This program makes collages out of random images pulled off of the \
-World Wide Web. It finds these images by doing random web searches, \
-and then extracting images from the returned pages. It can also be \
-set up to filter the images through the `VidWhacker' program, above, \
-which looks really great. \
- \n\n\
-(Note that most of the images it finds are text, and not pictures. \
-This is because most of the web is pictures of text. Which is pretty \
-sad.) Written by Jamie Zawinski.
-
-*hacks.vidwhacker.name: VidWhacker
-*hacks.vidwhacker.documentation: \
-This is actually just a shell script that grabs a frame of video from \
-the system's video input, and then uses some PBM filters (chosen at \
-random) to manipulate and recombine the video frame in various ways \
-(edge detection, subtracting the image from a rotated version of \
-itself, etc.) Then it displays that image for a few seconds, and \
-does it again. This works really well if you just feed broadcast \
-television into it. \
- \n\n\
-Currently, the three lines of the script that actually grab the \
-source picture are SGI specific, but it should be trivial to adapt it \
-to work on other systems that can grab video (please send me the \
-changes if you do this...)
-
-*hacks.rocks.documentation: \
-This draws an animation of flight through an asteroid field, with \
-changes in rotation and direction. It can also display 3D \
-separations for red/blue glasses! Mostly written by Jamie Zawinski.
-
-*hacks.bubbles.documentation: \
-This simulates the kind of bubble formation that happens when water \
-boils:small bubbles appear, and as they get closer to each other, \
-they combine to form larger bubbles, which eventually pop. Written \
-by James Macnicol.
-
-*hacks.gears.documentation: \
-This draws a set of turning, interlocking gears, rotating in three \
-dimensions. Another GL hack, by Danny Sung, Brian Paul, and Ed \
-Mackey.
-
-*hacks.superquadrics.documentation: \
-Ed Mackey reports that he wrote the first version of this program in \
-BASIC on a Commodore 64 in 1987, as a 320x200 black and white \
-wireframe. Now it is GL and has specular reflections.
-
-*hacks.morph3d.name: Morph3D
-*hacks.morph3d.documentation: \
-Another 3d shape-changing GL hack, by Marcelo Vianna. It has the \
-same shiny-plastic feel as Superquadrics, as many computer-generated \
-objects do...
-
-*hacks.cage.documentation: \
-This draws Escher's ``Impossible Cage,'' a 3d analog of a moebius \
-strip, and rotates it in three dimensions. Written by Marcelo \
-Vianna.
-
-*hacks.moebius.documentation: \
-Another M. C. Escher hack by Marcelo Vianna, this one draws \
-``Moebius Strip II,'' a GL image of ants walking along the surface of \
-a moebius strip.
-
-*hacks.stairs.documentation: \
-by Marcelo Vianna's third Escher GL hack, this one draws an \
-``infinite'' staircase.
-
-*hacks.pipes.documentation: \
-If you've ever been in the same room with a Windows NT machine, \
-you've probably seen this GL hack. This version is by Marcelo \
-Vianna.
-
-*hacks.sproingies.documentation: \
-Q-Bert meets Marble Madness! Written by Ed Mackey.
-
-*hacks.rubik.documentation: \
-Draws a Rubik's Cube that rotates in three dimensions and repeatedly \
-shuffles and solves itself. Another fine GL hack by Marcelo Vianna.
-
-*hacks.atlantis.documentation: \
-This is xfishtank writ large: a GL animation of a number of sharks, \
-dolphins, and whales. The swimming motions are great. Originally \
-written by Mark Kilgard.
-
-*hacks.lament.documentation: \
-Animates a simulation of Lemarchand's Box, repeatedly solving itself. \
-Requires OpenGL, and a machine with fast hardware support for texture \
-maps. Warning: occasionally opens doors. Written by Jamie Zawinski.
-
-*hacks.bubble3d.name: Bubble3D
-*hacks.bubble3d.documentation: \
-Draws a stream of rising, undulating 3D bubbles, rising toward the \
-top of the screen, with nice specular reflections. Written by Richard \
-Jones.
-
-*hacks.glplanet.name: GLPlanet
-*hacks.glplanet.documentation: \
-Draws a planet bouncing around in space. Written by David Konerding. \
-The built-in image is a map of the earth (extracted from `xearth'), \
-but you can wrap any texture around the sphere, e.g., the planetary \
-textures that come with `ssystem'.
-
-*hacks.pulsar.documentation: \
-Draws some intersecting planes, making use of alpha blending, fog, \
-textures, and mipmaps, plus a ``frames per second'' meter so that you \
-can tell how fast your graphics card is... Requires OpenGL. Written \
-by David Konerding.
-
-*hacks.extrusion.documentation: \
-Draws various rotating extruded shapes that twist around, lengthen, \
-and turn inside out. Created by David Konerding from the samples \
-that come with the GL Extrusion library by Linas Vepstas.
-
-*hacks.sierpinski3d.name: Sierpinski3D
-*hacks.sierpinski3d.documentation: \
-This draws the three-dimensional variant of the recursive Sierpinski \
-triangle fractal, using GL. Written by Tim Robinson.
-
-*hacks.ripples.documentation: \
-This draws rippling interference patterns like splashing water. \
-With the -water option, it manipulates your desktop image to look \
-like something is dripping into it. Written by Tom Hammersley.
-
-
-!=============================================================================
-!
-! Documentation for some programs that are not bundled with XScreenSaver
-!
-!=============================================================================
-
-*hacks.xdaliclock.name: XDaliClock
-*hacks.xdaliclock.documentation: \
-XDaliClock draws a large digital clock, the numbers of which change by \
-``melting'' into their new shapes. Written by Jamie Zawinski. This \
-is not included with the XScreenSaver package, but if you don't have \
-it already, you can find it at <http://www.jwz.org/xdaliclock/>.
-
-*hacks.xearth.documentation: \
-XEarth draws an image of the Earth, as seen from your favorite vantage \
-point in space, correctly shaded for the current position of the Sun. \
-Written by Kirk Johnson. This is not included with the XScreenSaver \
-package, but if you don't have it already, you can find it at \
-<http://www.cs.colorado.edu/~tuna/xearth/>.
-
-*hacks.ssystem.name: SSystem
-*hacks.ssystem.documentation: \
-SSystem is a GL Solar System simulator. It simulates flybys of Sun, \
-the nine planets and a few major satellites, with four camera modes. \
-Written by Raul Alonso. This is not included with the XScreenSaver \
-package, but if you don't have it already, you can find it at \
-<http://www1.las.es/~amil/ssystem/>.
-
-*hacks.xmountains.documentation: \
-XMountains generates realistic-looking fractal terrains of snow-capped \
-mountains near water, with either a top view or a side view. \
-Written by Stephen Booth. This is not included with the XScreenSaver \
-package, but if you don't have it already, you can find it at \
-<http://www.epcc.ed.ac.uk/~spb/xmountains/>.
-
-*hacks.xaos.name: XaoS
-*hacks.xaos.documentation: \
-XaoS generates fast fly-through animations of the Mandelbrot and other \
-fractal sets. Written by Thomas Marsh and Jan Hubicka. This is not \
-included with the XScreenSaver package, but if you don't have it \
-already, you can find it at <http://limax.paru.cas.cz/~hubicka/XaoS/>.
-
-*hacks.xfishtank.name: XFishTank
-*hacks.xfishtank.documentation: \
-Fish! This is not included with the XScreenSaver package, but if you \
-don't have it already, you can find it at \
-<http://metalab.unc.edu/pub/Linux/X11/demos/>.
+! (xrdb prevention kludge: whole file) */