1 "#error Do not run app-defaults files through xrdb!",
2 "#error That does not do what you might expect.",
3 "#error Put this file in /usr/lib/X11/app-defaults/XScreenSaver instead.",
6 "*lockTimeout: 0:00:00",
7 "*passwdTimeout: 0:00:30",
9 "*dpmsStandby: 2:00:00",
10 "*dpmsSuspend: 2:00:00",
12 "*grabDesktopImages: True",
13 "*grabVideoFrames: False",
14 "*chooseRandomImages: False",
24 "*fadeSeconds: 0:00:03",
27 "*splashDuration: 0:00:05",
29 "*captureStderr: True",
30 "*overlayTextForeground: #FFFF00",
31 "*overlayTextBackground: #000000",
32 "*overlayStderr: True",
33 "*font: *-medium-r-*-140-*-m-*",
34 "*sgiSaverExtension: True",
35 "*mitSaverExtension: False",
36 "*xidleExtension: True",
37 "*procInterrupts: True",
38 "*demoCommand: xscreensaver-demo",
39 "*prefsCommand: xscreensaver-demo -prefs",
40 "*helpURL: http://www.jwz.org/xscreensaver/man.html",
41 "*loadURL: netscape -remote 'openURL(%s)' || netscape '%s'",
42 "*manualCommand: gnome-help-browser 'man:%s'",
43 "*dateFormat: %d-%b-%y (%a); %I:%M %p",
44 "*installColormap: True",
46 \"Qix (solid)\" qix -root -solid -delay 0 -segments 100 \\n\
47 \"Qix (transparent)\" qix -root -count 4 -solid -transparent \\n\
48 \"Qix (linear)\" qix -root -count 5 -solid -transparent \
49 -linear -segments 250 -size 100 \\n\
50 - mono: \"Qix (xor)\" qix -root -linear -count 5 -size 200 \
51 -spread 30 -segments 75 -solid -xor \\n\
53 \"Attraction (balls)\" attraction -root -mode balls \\n\
54 \"Attraction (lines)\" attraction -root -mode lines -points 3 \
56 - \"Attraction (poly)\" attraction -root -mode polygons \\n\
57 \"Attraction (splines)\" attraction -root -mode splines -segments \
59 \"Attraction (orbital)\" attraction -root -mode lines -radius 300 \
60 -orbit -vmult 0.5 \\n\
66 rorschach -root -offset 7 \\n\
70 slidescreen -root \\n\
71 decayscreen -root \\n\
73 blitspin -root -grab \\n\
77 \"Ripples (oily)\" ripples -root -oily -light 2 \\n\
78 \"Ripples (stir)\" ripples -root -oily -light 2 -stir \\n\
79 \"Ripples (desktop)\" ripples -root -water -light 6 \\n\
95 \"Grav (trails)\" grav -root -trail -decay \\n\
100 sierpinski -root \\n\
110 goop -root -max-velocity 0.5 -elasticity \
113 \"Starfish (blob)\" starfish -root -blob \\n\
116 coral -root -delay 0 \\n\
118 triangle -root -delay 1 \\n\
125 kaleidescope -root \\n\
127 xlyap -root -randomize \\n\
131 interference -root \\n\
132 truchet -root -randomize \\n\
138 \"RD-Bomb (mobile)\" rd-bomb -root -speed 1 -size 0.1 \\n\
147 \"Wander (spots)\" wander -root -advance 0 -size 10 -circles \
148 True -length 10000 -reset 100000 \\n\
152 petri -root -size 2 -count 20 \\n\
153 \"Petri 2\" petri -root -minlifespeed 0.02 \
154 -maxlifespeed 0.03 -minlifespan 1 \
155 -maxlifespan 1 -instantdeathchan 0 \
156 -minorchan 0 -anychan 0.3 \\n\
162 xspirograph -root \\n\
164 - \"NerveRot (dense)\" nerverot -root -count 1000 \\n\
165 - \"NerveRot (thick)\" nerverot -root -count 100 -line-width 4 \
166 -max-nerve-radius 0.8 -nervousness 0.5 -db \\n\
168 - \"Zoom (Fatbits)\" zoom -root \\n\
169 \"Zoom (Lenses)\" zoom -root -lenses \\n\
171 - \"RotZoomer (mobile)\" rotzoomer -root -move \\n\
172 - \"RotZoomer (sweep)\" rotzoomer -root -sweep \\n\
173 whirlwindwarp -root \\n\
174 \"WhirlyGig\" whirlygig -root -nlines 20 -whirlies 40 \
176 \"SpeedMine\" speedmine -root \\n\
177 \"SpeedWorm\" speedmine -root -worm \\n\
178 color: bubbles -root \\n\
179 default-n: webcollage -root \\n\
180 default-n: \"WebCollage (whacked)\" \
181 webcollage -root -filter \
182 'vidwhacker -stdin -stdout' \\n\
183 - default-n: vidwhacker -root \\n\
186 GL: \"Gears (planetary)\" gears -root -planetary \\n\
187 GL: superquadrics -root \\n\
188 GL: morph3d -root \\n\
190 GL: moebius -root \\n\
191 GL: stairs -root \\n\
193 GL: sproingies -root \\n\
195 GL: atlantis -root \\n\
196 GL: lament -root \\n\
197 GL: bubble3d -root \\n\
198 GL: glplanet -root \\n\
199 GL: pulsar -root \\n\
200 - GL: \"Pulsar (textures)\" \
201 pulsar -root -texture -mipmap \
202 -texture_quality -light -fog \\n\
203 GL: extrusion -root \\n\
204 GL: sierpinski3d -root \\n\
206 GL: stonerview -root \\n\
207 GL: starwars -root \\n\
208 GL: gltext -root \\n\
209 GL: \"GLText (clock)\" gltext -text \"%A%n%d %b %Y%n%r\" -root \\n\
210 GL: \"Molecule\" molecule -root \\n\
211 GL: \"Molecule (lumpy)\" molecule -root -no-bonds -no-labels \\n\
212 GL: dangerball -root \\n\
214 - xdaliclock -root -builtin3 -cycle \\n\
215 - default-n: xearth -nofork -nostars -ncolors 50 \
216 -night 3 -wait 0 -timewarp 400.0 -pos \
218 - ssystem -fullscreen :32 \\n\
219 - xmountains -b -M -Z 0 -r 1 \\n\
220 - \"XMountains (top)\" xmountains -b -M -Z 0 -r 1 -m \\n\
221 - xaos -root -autopilot -incoloring -1 \
222 -nogui -outcoloring -1 \\n\
223 - xfishtank -d -s \\n\
228 "XScreenSaver.pointerPollTime: 0:00:05",
229 "XScreenSaver.initialDelay: 0:00:00",
230 "XScreenSaver.windowCreationTimeout: 0:00:30",
231 "XScreenSaver.bourneShell: /bin/sh",
232 "*Dialog.headingFont: *-times-bold-r-*-*-*-180-*-*-*-iso8859-1",
233 "*Dialog.bodyFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1",
234 "*Dialog.labelFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1",
235 "*Dialog.buttonFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1",
236 "*Dialog.dateFont: *-courier-medium-r-*-*-*-80-*-*-*-iso8859-1",
237 "*Dialog.foreground: #000000",
238 "*Dialog.background: #BFBFBF",
239 "*Dialog.Button.foreground: #000000",
240 "*Dialog.Button.background: #D0D0D0",
241 "*Dialog.text.foreground: #000000",
242 "*Dialog.text.background: #FFFFFF",
243 "*passwd.thermometer.foreground: #FF0000",
244 "*passwd.thermometer.background: #FFFFFF",
245 "*Dialog.topShadowColor: #E7E7E7",
246 "*Dialog.bottomShadowColor: #737373",
247 "*Dialog.logo.width: 210",
248 "*Dialog.logo.height: 210",
249 "*Dialog.internalBorderWidth: 30",
250 "*Dialog.borderWidth: 1",
251 "*Dialog.shadowThickness: 4",
252 "*passwd.heading.label: XScreenSaver %s",
253 "*passwd.body.label: This display is locked.",
254 "*passwd.user.label: User:",
255 "*passwd.passwd.label: Password:",
256 "*passwd.passwdFont: *-courier-medium-r-*-*-*-140-*-*-*-iso8859-1",
257 "*passwd.thermometer.width: 8",
258 "*splash.heading.label: XScreenSaver %s",
259 "*splash.body.label: Copyright © 1991-2001 by",
260 "*splash.body2.label: Jamie Zawinski <jwz@jwz.org>",
261 "*splash.demo.label: Demo",
262 "*splash.prefs.label: Prefs",
263 "*splash.help.label: Help",
264 "*fontList: *-helvetica-medium-r-*-*-*-120-*-*-*-iso8859-1",
265 "*demoDialog*label1.fontList: *-helvetica-medium-r-*-*-*-140-*-*-*-iso8859-1",
266 "*cmdText.fontList: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1",
267 "*label0.fontList: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1",
268 "XScreenSaver*doc.fontList: *-helvetica-medium-r-*-*-*-100-*-*-*-iso8859-1",
269 "*foreground: #000000",
270 "*background: #C0C0C0",
271 "*XmTextField.foreground: #000000",
272 "*XmTextField.background: #FFFFFF",
273 "*list.foreground: #000000",
274 "*list.background: #FFFFFF",
275 "*ApplicationShell.title: XScreenSaver",
276 "*warning.title: XScreenSaver",
277 "*warning_popup.title: XScreenSaver",
278 "*allowShellResize: True",
279 "*autoUnmanage: False",
280 "*menubar*file.labelString: File",
281 "*menubar*file.mnemonic: F",
282 "*file.blank.labelString: Blank Screen Now",
283 "*file.blank.mnemonic: B",
284 "*file.lock.labelString: Lock Screen Now",
285 "*file.lock.mnemonic: L",
286 "*file.kill.labelString: Kill Daemon",
287 "*file.kill.mnemonic: K",
288 "*file.restart.labelString: Restart Daemon",
289 "*file.restart.mnemonic: R",
290 "*file.exit.labelString: Exit",
291 "*file.exit.mnemonic: E",
292 "*menubar*edit.labelString: Edit",
293 "*menubar*edit.mnemonic: E",
294 "*edit.cut.labelString: Cut",
295 "*edit.cut.mnemonic: u",
296 "*edit.copy.labelString: Copy",
297 "*edit.copy.mnemonic: C",
298 "*edit.paste.labelString: Paste",
299 "*edit.paste.mnemonic: P",
300 "*menubar*help.labelString: Help",
301 "*menubar*help.mnemonic: H",
302 "*help.about.labelString: About...",
303 "*help.about.mnemonic: A",
304 "*help.docMenu.labelString: Documentation...",
305 "*help.docMenu.mnemonic: D",
306 "*demoTab.marginWidth: 10",
307 "*optionsTab.marginWidth: 10",
308 "*XmScrolledWindow.topOffset: 10",
309 "*XmScrolledWindow.leftOffset: 10",
310 "*demoTab.topOffset: 4",
311 "*form1.bottomOffset: 10",
312 "*form3.leftOffset: 10",
313 "*form3.rightOffset: 10",
314 "*frame.topOffset: 10",
315 "*frame.bottomOffset: 10",
316 "*enabled.topOffset: 10",
317 "*visLabel.topOffset: 10",
318 "*combo.topOffset: 10",
319 "*form4.bottomOffset: 4",
320 "*hr.bottomOffset: 4",
321 "*XmComboBox.marginWidth: 0",
322 "*XmComboBox.marginHeight: 0",
323 "*demo.marginWidth: 30",
324 "*demo.marginHeight: 4",
325 "*man.marginWidth: 10",
326 "*man.marginHeight: 4",
327 "*down.leftOffset: 40",
328 "*down.marginWidth: 4",
329 "*down.marginHeight: 4",
330 "*up.marginWidth: 4",
331 "*up.marginHeight: 4",
332 "*frame.traversalOn: False",
333 "*list.automaticSelection: True",
334 "*list.visibleItemCount: 20",
336 "*combo.columns: 11",
337 "*demoTab.labelString: Graphics Demos",
338 "*optionsTab.labelString: Screensaver Options",
339 "*down.labelString: \\\\/ ",
340 "*up.labelString: /\\\\ ",
341 "*frameLabel.labelString: ",
342 "*cmdLabel.labelString: Command Line:",
343 "*cmdLabel.alignment: ALIGNMENT_BEGINNING",
344 "*enabled.labelString: Enabled",
345 "*visLabel.labelString: Visual:",
346 "*visLabel.alignment: ALIGNMENT_END",
347 "*visLabel.leftOffset: 20",
348 "*demo.labelString: Demo",
349 "*man.labelString: Documentation...",
350 "*done.labelString: Quit",
351 "*preferencesLabel.labelString: XScreenSaver Parameters",
352 "*timeoutLabel.labelString: Saver Timeout",
353 "*cycleLabel.labelString: Cycle Timeout",
354 "*fadeSecondsLabel.labelString: Fade Duration",
355 "*fadeTicksLabel.labelString: Fade Ticks",
356 "*lockLabel.labelString: Lock Timeout",
357 "*passwdLabel.labelString: Password Timeout",
358 "*preferencesForm*XmTextField.columns: 8",
359 "*verboseToggle.labelString: Verbose",
360 "*cmapToggle.labelString: Install Colormap",
361 "*fadeToggle.labelString: Fade Colormap",
362 "*unfadeToggle.labelString: Unfade Colormap",
363 "*lockToggle.labelString: Require Password",
364 "*OK.marginWidth: 30",
365 "*OK.marginHeight: 4",
366 "*OK.leftOffset: 10",
367 "*OK.bottomOffset: 10",
368 "*Cancel.marginWidth: 30",
369 "*Cancel.marginHeight: 4",
370 "*Cancel.rightOffset: 10",
371 "*Cancel.bottomOffset: 10",
372 "*hacks.documentation.isInstalled: True",
373 "*hacks.qix.documentation: \
374 This is the swiss army chainsaw of qix programs. It bounces a series \
375 of line segments around the screen, and uses variations on this basic \
376 motion pattern to produce all sorts of different presentations: line \
377 segments, filled polygons, overlapping translucent areas... Written \
379 "*hacks.attraction.documentation: \
380 Like qix, this uses a simple simple motion model to generate many \
381 different display modes. The control points attract each other up to \
382 a certain distance, and then begin to repel each other. The \
383 attraction/repulsion is proportional to the distance between any two \
384 particles, similar to the strong and weak nuclear forces. \
386 One of the most interesting ways to watch this hack is simply as \
387 bouncing balls, because their motions and interactions with each \
388 other are so odd. Sometimes two balls will get into a tight orbit \
389 around each other, to be interrupted later by a third, or by the edge \
390 of the screen. It looks quite chaotic. \
392 Written by Jamie Zawinski, based on Lisp code by John Pezaris.",
393 "*hacks.pyro.documentation: \
394 Pyro draws exploding fireworks. Blah blah blah. Written by Jamie \
396 "*hacks.helix.documentation: \
397 This repeatedly generates spirally string-art-ish patterns. Written \
399 "*hacks.pedal.documentation: \
400 This is sort of a combination spirograph/string-art. It generates a \
401 large, complex polygon, and lets the X server do the bulk of the work \
402 by giving it an even/odd winding rule. Written by Dale Moore, based \
403 on some ancient PDP-11 code.",
404 "*hacks.rorschach.documentation: \
405 This generates random inkblot patterns. The algorithm is deceptively \
406 simple for how well it works; it merely walks a dot around the screen \
407 randomly, and then reflects the image horizontally, vertically, or \
408 both. Any deep-seated neurotic tendencies which this program reveals \
409 are your own problem. Written by Jamie Zawinski.",
410 "*hacks.hopalong.documentation: \
411 This draws lacy fractal patterns, based on iteration in the imaginary \
412 plane, from a 1986 Scientific American article. Mostly written by \
414 "*hacks.greynetic.documentation: \
415 This draws random colored and stippled rectangles. Written by Jamie \
417 "*hacks.imsmap.name: IMSmap",
418 "*hacks.imsmap.documentation: \
419 This generates random cloud-like patterns. It looks quite different \
420 in monochrome and color. The basic idea is to take four points on \
421 the edge of the image, and assign each a random ``elevation''. Then \
422 find the point between them, and give it a value which is the average \
423 of the other four, plus some small random offset. Then coloration is \
424 done based on elevation. \
426 The color selection is done by binding the elevation to either hue, \
427 saturation, or brightness, and assigning random values to the others. \
428 The ``brightness'' mode tends to yield cloudlike patterns, and the \
429 others tend to generate images that look like heat-maps or CAT-scans. \
430 Written by Juergen Nickelsen and Jamie Zawinski.",
431 "*hacks.slidescreen.name: SlideScreen",
432 "*hacks.slidescreen.documentation: \
433 This takes an image, divides it into a grid, and then randomly shuffles \
434 the squares around as if it was one of those annoying ``16-puzzle'' \
435 games, where there is a grid of squares, one of which is missing. \
436 I hate trying to solve those puzzles, but watching one permute itself \
437 is more amusing. Written by Jamie Zawinski.",
438 "*hacks.decayscreen.name: DecayScreen",
439 "*hacks.decayscreen.documentation: \
440 This takes an image and makes it melt. You've no doubt seen this \
441 effect before, but no screensaver would really be complete without it. \
442 It works best if there's something colorful visible. Warning, if the \
443 effect continues after the screen saver is off, seek medical attention. \
444 Written by David Wald and Vivek Khera.",
445 "*hacks.jigsaw.documentation: \
446 This grabs a screen image, carves it up into a jigsaw puzzle, \
447 shuffles it, and then solves the puzzle. This works especially well \
448 when you feed it an external video signal instead of letting it grab \
449 the screen image (actually, I guess this is generally true...) When \
450 it is grabbing a video image, it is sometimes pretty hard to guess \
451 what the image is going to look like once the puzzle is solved. \
452 Written by Jamie Zawinski.",
453 "*hacks.blitspin.name: BlitSpin",
454 "*hacks.blitspin.documentation: \
455 The ``blitspin'' hack repeatedly rotates a bitmap by 90 degrees by \
456 using logical operations: the bitmap is divided into quadrants, and \
457 the quadrants are shifted clockwise. Then the same thing is done \
458 again with progressively smaller quadrants, except that all \
459 sub-quadrants of a given size are rotated in parallel. Written by \
460 Jamie Zawinski based on some cool SmallTalk code seen in in Byte \
463 As you watch it, the image appears to dissolve into static and then \
464 reconstitute itself, but rotated. You can provide the image to use, \
465 as an XBM or XPM file, or tell it to grab a screen image and rotate \
467 "*hacks.slip.documentation: \
468 This program throws some random bits on the screen, then sucks them \
469 through a jet engine and spews them out the other side. To avoid \
470 turning the image completely to mush, every now and then it will and \
471 then it interjects some splashes of color into the scene, or go into \
472 a spin cycle, or stretch the image like taffy, or (this is my \
473 addition) grab an image of your current desktop to chew on. \
474 Originally written by Scott Draves; whacked on by Jamie Zawinski.",
475 "*hacks.distort.documentation: \
476 This hack grabs an image of the screen, and then lets a transparent \
477 lens wander around the screen, magnifying whatever is underneath. \
478 Written by Jonas Munsin.",
479 "*hacks.spotlight.documentation: \
480 Draws a spotlight scanning across a black screen, illumnating the \
481 underlying desktop when it passes. Written by Rick Schultz.",
482 "*hacks.hypercube.documentation: \
483 This displays 2D projections of the sequence of 3D objects which are \
484 the projections of the 4D analog to the cube: as a square is composed \
485 of four lines, each touching two others; and a cube is composed of \
486 six squares, each touching four others; a hypercube is composed of \
487 eight cubes, each touching six others. To make it easier to \
488 visualize the rotation, it uses a different color for the edges of \
489 each face. Don't think about it too long, or your brain will melt. \
490 Written by Joe Keane, Fritz Mueller, and Jamie Zawinski.",
491 "*hacks.hyperball.documentation: \
492 Hyperball is to hypercube as dodecahedron is to cube: this displays \
493 a 2D projection of the sequence of 3D objects which are the projections \
494 of the 4D analog to the dodecahedron. Written by Joe Keane.",
495 "*hacks.halo.documentation: \
496 This draws trippy psychedelic circular patterns that hurt to look at. \
497 It can also animate the control-points, but that takes a lot of CPU \
498 and bandwidth. Written by Jamie Zawinski.",
499 "*hacks.maze.documentation: \
500 This is the ancient X maze demo, modified to work with xscreensaver. \
501 It generates a random maze, then solves it with visual feedback. \
502 Originally by Jim Randell; modified by a cast of thousands.",
503 "*hacks.noseguy.documentation: \
504 A little man with a big nose wanders around your screen saying \
505 things. The things which he says can come from a file, or from an \
506 external program like `zippy' or `fortune'. This was extracted from \
507 `xnlock' by Dan Heller. Colorized by Jamie Zawinski.",
508 "*hacks.flame.documentation: \
509 Another iterative fractal generator. Written by Scott Draves.",
510 "*hacks.lmorph.name: LMorph",
511 "*hacks.lmorph.documentation: \
512 This generates random spline-ish line drawings and morphs between \
513 them. Written by Sverre H. Huseby and Glenn T. Lines.",
514 "*hacks.deco.documentation: \
515 This one subdivides and colors rectangles randomly. It looks kind of \
516 like Brady-Bunch-era rec-room wall paneling. (Raven says: ``this \
517 screensaver is ugly enough to peel paint.'') Written by Jamie \
518 Zawinski, inspired by Java code by Michael Bayne.",
519 "*hacks.moire.documentation: \
520 This one draws cool circular interference patterns. Most of the \
521 circles you see aren't explicitly rendered, but show up as a result \
522 of interactions between the other pixels that were drawn. Written by \
523 Jamie Zawinski, inspired by Java code by Michael Bayne. As he \
524 pointed out, the beauty of this one is that the heart of the display \
525 algorithm can be expressed with just a pair of loops and a handful of \
526 arithmetic, giving it a high ``display hack metric''.",
527 "*hacks.moire2.documentation: \
528 Another example of the fun you can have with moire \
529 interference patterns; this hack generates fields of concentric \
530 circles or ovals, and combines the planes with various operations. \
531 The planes are moving independently of one another, causing the \
532 interference lines to ``spray.'' Written by Jamie Zawinski.",
533 "*hacks.lightning.documentation: \
534 This one draws crackling fractal lightning bolts. It's simple, \
535 direct, and to the point. If only it had sound... Written by Keith \
537 "*hacks.strange.documentation: \
538 This draws strange attractors: it's a colorful, \
539 unpredictably-animating field of dots that swoops and twists around. \
540 The motion is very nice. Written by Massimino Pascal.",
541 "*hacks.spiral.documentation: \
542 Moving circular patterns, by Peter Schmitzberger. Moving circular \
543 patterns means moire; interference patterns, of course.",
544 "*hacks.laser.documentation: \
545 Moving radiating lines, that look vaguely like scanning laser beams. \
546 Written by Pascal Pensa. (Frankie say: relax.)",
547 "*hacks.grav.documentation: \
548 This program draws a simple orbital simulation. If you turn on \
549 trails, it looks kind of like a cloud-chamber photograph. Written \
551 "*hacks.drift.documentation: \
552 How could one possibly describe this except as ``drifting recursive \
553 fractal cosmic flames?'' Another fine hack from the Scott Draves \
554 collection of fine hacks.",
555 "*hacks.ifs.name: IFS",
556 "*hacks.ifs.documentation: \
557 This one draws spinning, colliding iterated-function-system images. \
558 Written by Massimino Pascal.",
559 "*hacks.julia.documentation: \
560 This one draws spinning, animating (are you detecting a pattern here \
561 yet?) explorations of the Julia set. You've probably seen static \
562 images of this fractal form before, but it's a lot of fun to watch in \
563 motion as well. One interesting thing is that there is a small \
564 swinging dot passing in front of the image, which indicates the \
565 control point from which the rest of the image was generated. \
566 Written by Sean McCullough.",
567 "*hacks.penrose.documentation: \
568 Draws quasiperiodic tilings; think of the implications on modern \
569 formica technology. Written by Timo Korvola. \
571 In April 1997, Sir Roger Penrose, a British math professor who has \
572 worked with Stephen Hawking on such topics as relativity, black \
573 holes, and whether time has a beginning, filed a \
574 copyright-infringement lawsuit against the Kimberly-Clark \
575 Corporation, which Penrose said copied a pattern he created (a \
576 pattern demonstrating that ``a nonrepeating pattern could exist in \
577 nature'') for its Kleenex quilted toilet paper. Penrose said he \
578 doesn't like litigation but, ``When it comes to the population of \
579 Great Britain being invited by a multinational to wipe their bottoms \
580 on what appears to be the work of a Knight of the Realm, then a last \
581 stand must be taken.'' \
583 As reported by News of the Weird #491, 4-jul-1997.",
584 "*hacks.sierpinski.documentation: \
585 This draws the two-dimensional variant of the recursive Sierpinski \
586 triangle fractal. Written by Desmond Daignault.",
587 "*hacks.braid.documentation: \
588 Draws random color-cycling inter-braided concentric circles. Written \
590 "*hacks.galaxy.documentation: \
591 This draws spinning galaxies, which then collide and scatter their \
592 stars to the, uh, four winds or something. Originally an Amiga \
593 program by Uli Siegmund.",
594 "*hacks.bouboule.documentation: \
595 This draws what looks like a spinning, deforming baloon with \
596 varying-sized spots painted on its invisible surface. Written by \
598 "*hacks.swirl.documentation: \
599 More flowing, swirly patterns. This version is by M. Dobie and R. \
600 Taylor, but you might have seen a Mac program similar to this called \
601 FlowFazer. There is also a cool Java applet of a similar concept",
602 "*hacks.flag.documentation: \
603 This draws a waving colored flag, that undulates its way around the \
604 screen. The trick is the flag can contain arbitrary text and images. \
605 By default, it displays either the current system name and OS \
606 type, or a picture of ``Bob,'' but you can replace the text or the \
607 image with a command-line option. Written by Charles Vidal and Jamie \
609 "*hacks.sphere.documentation: \
610 Another of the classic screenhacks of the distant past, this one \
611 draws shaded spheres in multiple colors. This hack traces its \
612 lineage back to Tom Duff in 1982.",
613 "*hacks.forest.documentation: \
614 This draws fractal trees. Written by Peter Baumung. Everybody loves \
616 "*hacks.lisa.documentation: \
617 This draws Lisajous loops, by Caleb Cullen. Remember that device \
618 they had the Phantom Zone prisoners in during their trial in \
619 Superman? I think that was one of these.",
620 "*hacks.lissie.documentation: \
621 Another Lissajous figure. This one draws the progress of circular \
622 shapes along a path. Written by Alexander Jolk.",
623 "*hacks.goop.documentation: \
624 This draws set of animating, transparent, amoeba-like blobs. The \
625 blobs change shape as they wander around the screen, and they are \
626 translucent, so you can see the lower blobs through the higher ones, \
627 and when one passes over another, their colors merge. Written by \
628 Jamie Zawinski. I got the idea for this from a cool mouse pad I \
629 have, which achieves the same kind of effect in real life by having \
630 several layers plastic with colored oil between them. Written by \
632 "*hacks.starfish.documentation: \
633 This generates a sequence of undulating, throbbing, star-like \
634 patterns which pulsate, rotate, and turn inside out. Another display \
635 mode uses these shapes to lay down a field of colors, which are then \
636 cycled. The motion is very organic. Written by Jamie Zawinski.",
637 "*hacks.munch.documentation: \\n\
644 As reported by HAKMEM, in 1962, Jackson Wright wrote the above PDP-1 \
645 code. That code still lives on in this screenhack, some 35 years \
646 later. The number of lines of enclosing code has increased \
647 substantially, however. This version is by Tim Showalter.",
648 "*hacks.fadeplot.name: FadePlot",
649 "*hacks.fadeplot.documentation: \
650 Draws what looks like a waving ribbon following a sinusoidal path. \
651 Written by Bas van Gaalen and Charles Vidal.",
652 "*hacks.coral.documentation: \
653 Simulates coral growth, albeit somewhat slowly. This image doesn't \
654 really do it justice. Written by Frederick Roeber.",
655 "*hacks.mountain.documentation: \
656 Generates random 3d plots that look vaguely mountainous. Written by \
658 "*hacks.triangle.documentation: \
659 Generates random mountain ranges using iterative subdivision of \
660 triangles. Written by Tobias Gloth.",
661 "*hacks.worm.documentation: \
662 An ancient xlock hack that draws multicolored worms that crawl around \
663 the screen. Written by Brad Taylor, Dave Lemke, Boris Putanec, and \
665 "*hacks.rotor.documentation: \
666 Another ancient xlock demo, this one by Tom Lawrence. It draws a \
667 line segment moving along a complex spiraling curve. I tweaked this \
668 to generate curvier lines, but still frames of it don't look like \
670 "*hacks.ant.documentation: \
671 A cellular automaton that is really a two-dimensional Turing machine: \
672 as the heads (``ants'') walk along the screen, they change pixel \
673 values in their path. Then, as they pass over changed pixels, their \
674 behavior is influenced. Written by David Bagley.",
675 "*hacks.demon.documentation: \
676 A cellular automaton that starts with a random field, and organizes \
677 it into stripes and spirals. Written by David Bagley.",
678 "*hacks.loop.documentation: \
679 This one produces loop-shaped colonies that spawn, age, and \
680 eventually die. Written by David Bagley.",
681 "*hacks.vines.documentation: \
682 This one generates a continuous sequence of small, curvy geometric \
683 patterns. It scatters them around your screen until it fills up, \
684 then it clears the screen and starts over. Written by Tracy Camp and \
686 "*hacks.kaleidescope.documentation: \
687 Another clone of an ancient meme, consisting largely of frenetic \
688 rotational motion of colored lines. This one is by Ron Tapia. The \
689 motion is nice, but I think it needs more solids, or perhaps just \
690 brighter colors. More variations in the rotational speed might help, \
692 "*hacks.xjack.documentation: \
693 This program behaves schizophrenically and makes a lot of typos. \
694 Written by Jamie Zawinski. If you haven't seen Stanley Kubrick's \
695 masterpiece, ``The Shining,'' you won't get it. Those who have \
696 describe this hack as ``inspired.''",
697 "*hacks.xlyap.documentation: \
698 This generates pretty fractal pictures by doing funky math involving \
699 the ``Lyapunov exponent.'' It has a cool interactive mode, too. \
700 Written by Ron Record.",
701 "*hacks.cynosure.documentation: \
702 A hack similar to `greynetic', but less frenetic. The first \
703 implementation was by Stephen Linhart; then Ozymandias G. Desiderata \
704 wrote a Java applet clone. That clone was discovered by Jamie \
705 Zawinski, and ported to C for inclusion here.",
706 "*hacks.flow.documentation: \
707 Another series of strange attractors: a flowing series of points, \
708 making strange rotational shapes. Written by Jeff Butterworth.",
709 "*hacks.epicycle.documentation: \
710 This program draws the path traced out by a point on the edge of a \
711 circle. That circle rotates around a point on the rim of another \
712 circle, and so on, several times. These were the basis for the \
713 pre-heliocentric model of planetary motion. Written by James \
715 "*hacks.interference.documentation: \
716 Another color-field hack, this one works by computing decaying \
717 sinusoidal waves, and allowing them to interfere with each other as \
718 their origins move. Written by Hannu Mallat.",
719 "*hacks.truchet.documentation: \
720 This draws line- and arc-based Truchet patterns that tile the screen. \
721 Written by Adrian Likins.",
722 "*hacks.bsod.name: BSOD",
723 "*hacks.bsod.documentation: \
724 BSOD stands for ``Blue Screen of Death.'' The finest in personal \
725 computer emulation, this hack simulates popular screen savers from a \
726 number of less robust operating systems. Written by Jamie Zawinski.",
727 "*hacks.crystal.documentation: \
728 Moving polygons, similar to a kaleidescope (more like a kaleidescope \
729 than the hack called `kaleid,' actually.) This one by Jouk Jansen.",
730 "*hacks.discrete.documentation: \
731 More ``discrete map'' systems, including new variants of Hopalong and \
732 Julia, and a few others. Written by Tim Auckland.",
733 "*hacks.kumppa.documentation: \
734 Spiraling, spinning, and very, very fast splashes of color rush \
735 toward the screen. Written by Teemu Suutari.",
736 "*hacks.rd-bomb.name: RD-Bomb",
737 "*hacks.rd-bomb.documentation: \
738 Another variation of the `Bomb' program by Scott Draves. This draws \
739 a grid of growing square-like shapes that, once they overtake each \
740 other, react in unpredictable ways. ``RD'' stands for \
741 reaction-diffusion.",
742 "*hacks.sonar.documentation: \
743 This program draws a simulation of a sonar screen. Written by \
744 default, it displays a random assortment of ``bogies'' on the screen, \
745 but if compiled properly, it can ping (pun intended) your local \
746 network, and actually plot the proximity of the other hosts on your \
747 network to you. It would be easy to make it monitor other sources of \
748 data, too. (Processes? Active network connections? CPU usage per \
749 user?) Written by Stephen Martin.",
750 "*hacks.t3d.name: T3D",
751 "*hacks.t3d.documentation: \
752 This draws a working analog clock composed of floating, throbbing \
753 bubbles. Written by Bernd Paysan.",
754 "*hacks.penetrate.documentation: \
755 This hack simulates the classic arcade game Missile Command. Written \
757 "*hacks.deluxe.documentation: \
758 This draws a pulsing sequence of stars, circles, and lines. It would \
759 look better if it was faster, but as far as I can tell, there is no \
760 way to make this be both: fast, and flicker-free. Yet another reason \
761 X sucks. Written by Jamie Zawinski.",
762 "*hacks.compass.documentation: \
763 This draws a compass, with all elements spinning about randomly, for \
764 that ``lost and nauseous'' feeling. Written by Jamie Zawinski.",
765 "*hacks.squiral.documentation: \
766 Draws a set of interacting, square-spiral-producing automata. The \
767 spirals grow outward until they hit something, then they go around \
768 it. Written by Jeff Epler.",
769 "*hacks.xflame.documentation: \
770 Draws a simulation of pulsing fire. It can also take an arbitrary \
771 image and set it on fire too. Written by Carsten Haitzler, hacked on \
773 "*hacks.wander.documentation: \
774 Draws a colorful random-walk, in various forms. Written by Rick \
776 "*hacks.critical.documentation: \
777 Draws a system of self-organizing lines. It starts out as random \
778 squiggles, but after a few iterations, order begins to appear. \
779 Written by Martin Pool.",
780 "*hacks.phosphor.documentation: \
781 Draws a simulation of an old terminal, with large pixels and \
782 long-sustain phosphor. It can run any program as a source of the text \
783 it displays. Written by Jamie Zawinski.",
784 "*hacks.xmatrix.documentation: \
785 A rendition of the text scrolls seen in the movie ``The Matrix.'' \
786 Written by Jamie Zawinski.",
787 "*hacks.petri.documentation: \
788 This simulates colonies of mold growing in a petri dish. Growing \
789 colored circles overlap and leave spiral interference in their wake. \
790 Written by Dan Bornstein.",
791 "*hacks.shadebobs.name: ShadeBobs",
792 "*hacks.shadebobs.documentation: \
793 This draws smoothly-shaded oscilating oval patterns, that look \
794 something like vapor trails or neon tubes. Written by Shane Smit.",
795 "*hacks.ccurve.name: C Curve",
796 "*hacks.ccurve.documentation: \
797 Generates self-similar linear fractals, including the classic ``C \
798 Curve.'' Written by Rick Campbell.",
799 "*hacks.blaster.documentation: \
800 Draws a simulation of flying space-combat robots (cleverly disguised \
801 as colored circles) doing battle in front of a moving star field. \
802 Written by Jonathan Lin.",
803 "*hacks.bumps.documentation: \
804 A bit like `Spotlight', except that instead of merely exposing part \
805 of your desktop, it creates a bump map from it. Basically, it \
806 3D-izes a roaming section of your desktop, based on color intensity. \
807 Written by Shane Smit.",
808 "*hacks.xteevee.name: XTeeVee",
809 "*hacks.xteevee.documentation: \
810 XTeeVee simulates various television problems, including static, \
811 loss of vertical hold, and a test pattern. By Greg Knauss.",
812 "*hacks.xspirograph.name: XSpiroGraph",
813 "*hacks.xspirograph.documentation: \
814 Simulates that pen-in-nested-plastic-gears toy from your childhood. \
816 "*hacks.nerverot.name: NerveRot",
817 "*hacks.nerverot.documentation: \
818 Draws different shapes composed of nervously vibrating squiggles, \
819 as if seen through a camera operated by a monkey on crack. \
821 "*hacks.webcollage.name: WebCollage",
822 "*hacks.webcollage.documentation: \
823 This program makes collages out of random images pulled off of the \
824 World Wide Web. It finds these images by doing random web searches, \
825 and then extracting images from the returned pages. It can also be \
826 set up to filter the images through the `VidWhacker' program, above, \
827 which looks really great. \
829 (Note that most of the images it finds are text, and not pictures. \
830 This is because most of the web is pictures of text. Which is pretty \
831 sad.) Written by Jamie Zawinski.",
832 "*hacks.vidwhacker.name: VidWhacker",
833 "*hacks.vidwhacker.documentation: \
834 This is actually just a shell script that grabs a frame of video from \
835 the system's video input, and then uses some PBM filters (chosen at \
836 random) to manipulate and recombine the video frame in various ways \
837 (edge detection, subtracting the image from a rotated version of \
838 itself, etc.) Then it displays that image for a few seconds, and \
839 does it again. This works really well if you just feed broadcast \
840 television into it. \
842 Currently, the three lines of the script that actually grab the \
843 source picture are SGI specific, but it should be trivial to adapt it \
844 to work on other systems that can grab video (please send me the \
845 changes if you do this...)",
846 "*hacks.rocks.documentation: \
847 This draws an animation of flight through an asteroid field, with \
848 changes in rotation and direction. It can also display 3D \
849 separations for red/blue glasses! Mostly written by Jamie Zawinski.",
850 "*hacks.bubbles.documentation: \
851 This simulates the kind of bubble formation that happens when water \
852 boils:small bubbles appear, and as they get closer to each other, \
853 they combine to form larger bubbles, which eventually pop. Written \
855 "*hacks.gears.documentation: \
856 This draws sets of turning, interlocking gears, rotating in three \
857 dimensions. Another GL hack, by Danny Sung, Brian Paul, Ed Mackey, \
858 and Jamie Zawinski.",
859 "*hacks.superquadrics.documentation: \
860 Ed Mackey reports that he wrote the first version of this program in \
861 BASIC on a Commodore 64 in 1987, as a 320x200 black and white \
862 wireframe. Now it is GL and has specular reflections.",
863 "*hacks.morph3d.name: Morph3D",
864 "*hacks.morph3d.documentation: \
865 Another 3d shape-changing GL hack, by Marcelo Vianna. It has the \
866 same shiny-plastic feel as Superquadrics, as many computer-generated \
868 "*hacks.cage.documentation: \
869 This draws Escher's ``Impossible Cage,'' a 3d analog of a moebius \
870 strip, and rotates it in three dimensions. Written by Marcelo \
872 "*hacks.moebius.documentation: \
873 Another M. C. Escher hack by Marcelo Vianna, this one draws \
874 ``Moebius Strip II,'' a GL image of ants walking along the surface of \
876 "*hacks.stairs.documentation: \
877 by Marcelo Vianna's third Escher GL hack, this one draws an \
878 ``infinite'' staircase.",
879 "*hacks.pipes.documentation: \
880 If you've ever been in the same room with a Windows NT machine, \
881 you've probably seen this GL hack. This version is by Marcelo \
883 "*hacks.sproingies.documentation: \
884 Q-Bert meets Marble Madness! Written by Ed Mackey.",
885 "*hacks.rubik.documentation: \
886 Draws a Rubik's Cube that rotates in three dimensions and repeatedly \
887 shuffles and solves itself. Another fine GL hack by Marcelo Vianna.",
888 "*hacks.atlantis.documentation: \
889 This is xfishtank writ large: a GL animation of a number of sharks, \
890 dolphins, and whales. The swimming motions are great. Originally \
891 written by Mark Kilgard.",
892 "*hacks.lament.documentation: \
893 Animates a simulation of Lemarchand's Box, repeatedly solving itself. \
894 Requires OpenGL, and a machine with fast hardware support for texture \
895 maps. Warning: occasionally opens doors. Written by Jamie Zawinski.",
896 "*hacks.bubble3d.name: Bubble3D",
897 "*hacks.bubble3d.documentation: \
898 Draws a stream of rising, undulating 3D bubbles, rising toward the \
899 top of the screen, with nice specular reflections. Written by Richard \
901 "*hacks.glplanet.name: GLPlanet",
902 "*hacks.glplanet.documentation: \
903 Draws a planet bouncing around in space. Written by David Konerding. \
904 The built-in image is a map of the earth (extracted from `xearth'), \
905 but you can wrap any texture around the sphere, e.g., the planetary \
906 textures that come with `ssystem'.",
907 "*hacks.pulsar.documentation: \
908 Draws some intersecting planes, making use of alpha blending, fog, \
909 textures, and mipmaps, plus a ``frames per second'' meter so that you \
910 can tell how fast your graphics card is... Requires OpenGL. Written \
911 by David Konerding.",
912 "*hacks.extrusion.documentation: \
913 Draws various rotating extruded shapes that twist around, lengthen, \
914 and turn inside out. Created by David Konerding from the samples \
915 that come with the GL Extrusion library by Linas Vepstas.",
916 "*hacks.sierpinski3d.name: Sierpinski3D",
917 "*hacks.sierpinski3d.documentation: \
918 This draws the three-dimensional variant of the recursive Sierpinski \
919 triangle fractal, using GL. Written by Tim Robinson and Jamie Zawinski.",
920 "*hacks.ripples.documentation: \
921 This draws rippling interference patterns like splashing water. \
922 With the -water option, it manipulates your desktop image to look \
923 like something is dripping into it. Written by Tom Hammersley.",
924 "*hacks.gflux.name: GFlux",
925 "*hacks.gflux.documentation: \
926 Draws a rippling waves on a rotating wireframe grid, using GL. \
927 Written by Josiah Pease.",
928 "*hacks.xrayswarm.name: XRaySwarm",
929 "*hacks.xrayswarm.documentation: \
930 Draws a few swarms of critters flying around the screen, with nicely \
931 faded color trails behind them. Written by Chris Leger.",
932 "*hacks.zoom.documentation: \
933 Zooms in on a part of the screen and then moves around. With the \
934 -lenses option the result is like looking through many overlapping \
935 lenses rather than just a simple zoom. Written by James Macnicol.",
936 "*hacks.whirlwindwarp.name: WhirlwindWarp",
937 "*hacks.whirlwindwarp.documentation: \
938 Floating stars are acted upon by a mixture of simple 2D \
939 forcefields. The strength of each forcefield changes \
940 continuously, and it is also switched on and off at random. \
941 By Paul 'Joey' Clark.",
942 "*hacks.rotzoomer.name: RotZoomer",
943 "*hacks.rotzoomer.documentation: \
944 Creates a collage of rotated and scaled portions of the \
945 screen. Written by Claudio Matsuoka.",
946 "*hacks.stonerview.name: StonerView",
947 "*hacks.stonerview.documentation: \
948 Chains of colorful squares dance around each other in complex spiral \
949 patterns. Written by Andrew Plotkin, based on SGI's `electropaint' \
951 "*hacks.starwars.name: StarWars",
952 "*hacks.starwars.documentation: \
953 Draws a stream of text slowly scrolling into the distance at an \
954 angle, over a star field, like at the beginning of the movie of the \
955 same name. Written by Jamie Zawinski and Claudio Matauoka.",
956 "*hacks.gltext.name: GLText",
957 "*hacks.gltext.documentation: \
958 Displays a few lines of text spinning around in a solid 3D font. \
959 Written by Jamie Zawinski.",
960 "*hacks.molecule.documentation: \
961 Draws several different representations of molecules. Some common \
962 molecules are built in, and it can also read PDB (Protein Data Base) \
963 files as input. Written by Jamie Zawinski.",
964 "*hacks.dangerball.name: DangerBall",
965 "*hacks.dangerball.documentation: \
966 Draws a ball that periodically extrudes many random spikes. Ouch! \
967 Written by Jamie Zawinski.",
968 "*hacks.whirlygig.name: WhirlyGig",
969 "*hacks.whirlygig.documentation: \
970 Draws zooming chains of sinusoidal spots. Written by Ashton Trey Belew.",
971 "*hacks.speedmine.name: SpeedMine",
972 "*hacks.speedmine.documentation: \
973 Simulates speeding down a rocky mineshaft, or a funky dancing worm. \
974 Written by Conrad Parker.",
975 "*hacks.xdaliclock.name: XDaliClock",
976 "*hacks.xdaliclock.documentation: \
977 XDaliClock draws a large digital clock, the numbers of which change by \
978 ``melting'' into their new shapes. Written by Jamie Zawinski. This \
979 is not included with the XScreenSaver package, but if you don't have \
980 it already, you can find it at <http://www.jwz.org/xdaliclock/>.",
981 "*hacks.xearth.documentation: \
982 XEarth draws an image of the Earth, as seen from your favorite vantage \
983 point in space, correctly shaded for the current position of the Sun. \
984 Written by Kirk Johnson. This is not included with the XScreenSaver \
985 package, but if you don't have it already, you can find it at \
986 <http://www.cs.colorado.edu/~tuna/xearth/>.",
987 "*hacks.ssystem.name: SSystem",
988 "*hacks.ssystem.documentation: \
989 SSystem is a GL Solar System simulator. It simulates flybys of Sun, \
990 the nine planets and a few major satellites, with four camera modes. \
991 Written by Raul Alonso. This is not included with the XScreenSaver \
992 package, but if you don't have it already, you can find it at \
993 <http://www1.las.es/~amil/ssystem/>.",
994 "*hacks.xmountains.documentation: \
995 XMountains generates realistic-looking fractal terrains of snow-capped \
996 mountains near water, with either a top view or a side view. \
997 Written by Stephen Booth. This is not included with the XScreenSaver \
998 package, but if you don't have it already, you can find it at \
999 <http://www.epcc.ed.ac.uk/~spb/xmountains/>. \
1001 Be sure to compile it with -DVROOT or it won't work right when launched \
1002 by the xscreensaver daemon.",
1003 "*hacks.xaos.name: XaoS",
1004 "*hacks.xaos.documentation: \
1005 XaoS generates fast fly-through animations of the Mandelbrot and other \
1006 fractal sets. Written by Thomas Marsh and Jan Hubicka. This is not \
1007 included with the XScreenSaver package, but if you don't have it \
1008 already, you can find it at <http://limax.paru.cas.cz/~hubicka/XaoS/>.",
1009 "*hacks.xfishtank.name: XFishTank",
1010 "*hacks.xfishtank.documentation: \
1011 Fish! This is not included with the XScreenSaver package, but if you \
1012 don't have it already, you can find it at \
1013 <http://metalab.unc.edu/pub/Linux/X11/demos/>.",
1014 "*hacks.xsnow.documentation: \
1015 Draws falling snow and the occasional tiny Santa. By Rick Jansen. \
1016 You can find it at <http://www.euronet.nl/~rja/Xsnow/>.",
1017 "*hacks.goban.documentation: \
1018 Replays historical games of go (aka wei-chi and baduk) on the screen. \
1019 By Scott Draves. You can find it at <http://www.draves.org/goban/>.",
1020 "*hacks.electricsheep.name: ElectricSheep",
1021 "*hacks.electricsheep.documentation: \
1022 ElectricSheep is an xscreensaver module that displays mpeg video of \
1023 an animated fractal flame. In the background, it contributes render \
1024 cycles to the next animation. Periodically it uploades completed \
1025 frames to the server, where they are compressed for distribution to \
1028 This program is recommended only if you have a high bandwidth \
1029 connection to the Internet. \
1031 By Scott Draves. You can find it at <http://www.electricsheep.org/>. \
1032 See that web site for configuration information.",
1033 "*hacks.cosmos.documentation: \
1034 Draws fireworks and zooming, fading flares. By Tom Campbell. \
1035 You can find it at <http://www.mindspring.com/~campbell/cosmos/>.",