http://packetstormsecurity.org/UNIX/admin/xscreensaver-3.34.tar.gz
[xscreensaver] / driver / XScreenSaver.ad.in
1 !
2 !                              XScreenSaver
3 !
4 !            a screen saver and locker for the X window system
5 !                            by Jamie Zawinski
6 !
7 !                              version 3.34
8 !                              25-Oct-2001
9 !
10 ! See "man xscreensaver" for more info.  The latest version is always
11 ! available at http://www.jwz.org/xscreensaver/
12
13
14 ! These resources, when placed in the system-wide app-defaults directory
15 ! (e.g., /usr/lib/X11/app-defaults/XScreenSaver) will provide the default
16 ! settings for new users.  However, if you have a ".xscreensaver" file in
17 ! your home directory, the settings in that file take precedence.
18
19
20 ! Don't hand this file to "xrdb" -- that isn't how app-defaults files work.
21 ! Though app-defaults files have (mostly) the same syntax as your ~/.Xdefaults
22 ! file, they are used differently, and if you run this file through xrdb,
23 ! you will probably mess things up.
24
25 #error Do not run app-defaults files through xrdb!
26 #error That does not do what you might expect.
27 #error Put this file in /usr/lib/X11/app-defaults/XScreenSaver instead.
28
29 ! /* (xrdb prevention kludge: whole file)
30
31 *timeout:               0:10:00
32 *cycle:                 0:10:00
33 *lockTimeout:           0:00:00
34 *passwdTimeout:         0:00:30
35 *dpmsEnabled:           False
36 *dpmsStandby:           2:00:00
37 *dpmsSuspend:           2:00:00
38 *dpmsOff:               4:00:00
39 *grabDesktopImages:     True
40 *grabVideoFrames:       False
41 *chooseRandomImages:    False
42 *imageDirectory:        
43 *nice:                  10
44 *memoryLimit:           0
45 *lock:                  False
46 *lockVTs:               True
47 *verbose:               False
48 *timestamp:             False
49 *fade:                  True
50 *unfade:                False
51 *fadeSeconds:           0:00:03
52 *fadeTicks:             20
53 *splash:                True
54 *splashDuration:        0:00:05
55 *visualID:              default
56
57 *captureStderr:         True
58 *overlayTextForeground: #FFFF00
59 *overlayTextBackground: #000000
60 *overlayStderr:         True
61 *font:                  *-medium-r-*-140-*-m-*
62
63 ! The default is to use these extensions if available (as noted.)
64 *sgiSaverExtension:     True
65 *mitSaverExtension:     False
66 *xidleExtension:        True
67 *procInterrupts:        True
68
69 ! This is what the "Demo" button on the splash screen runs (/bin/sh syntax.)
70 *demoCommand: xscreensaver-demo
71
72 ! This is what the "Prefs" button on the splash screen runs (/bin/sh syntax.)
73 *prefsCommand: xscreensaver-demo -prefs
74
75 ! This is the URL that the "Help" button on the splash screen loads.
76 *helpURL: http://www.jwz.org/xscreensaver/man.html
77
78 ! This is how the "Help" button loads URLs (/bin/sh syntax.)
79 ! The "helpURL" will be substituted for up to two occurrences of "%s".
80 *loadURL: netscape -remote 'openURL(%s)' || netscape '%s'
81
82 ! This is what the "Manual" button in xscreensaver-demo runs (/bin/sh syntax.)
83 @GNOMEHELP_N@*manualCommand: xterm +sb -fg black -bg gray75 -T '%s manual' \
84 @GNOMEHELP_N@        -e /bin/sh -c 'man "%s" || read foo'
85 ! For GNOME systems:
86 @GNOMEHELP_Y@*manualCommand: gnome-help-browser 'man:%s'
87
88
89 ! The format used for printing the date and time in the password dialog box
90 ! (see the strftime(3) manual page for details.)
91 *dateFormat:            %d-%b-%y (%a); %I:%M %p
92 ! To show the time only:
93 ! *dateFormat:          %I:%M %p
94 ! For 24 hour time:
95 ! *dateFormat:          %H:%M
96
97
98 ! Turning on "installColormap" interacts erratically with twm and tvtwm,
99 ! but seems to work fine with mwm and olwm.  Try it and see.  If your
100 ! screen turns some color other than black, the window manager is buggy,
101 ! and you need to set this resource to False (or get a WM that works.)
102 !
103 *installColormap:       True
104
105
106 ! Any program which can draw on the root window will work as a screensaver.
107 ! The following resource enumerates them.
108 !
109 ! Programs are separated by newlines (specified in resource files with \n).
110 ! Lines may be continued with a lone \ at the end of the line.
111 !
112 ! Each line is an `sh' command.
113 !
114 ! If the first (non-blank) character on the line is "-", then that means
115 ! that this command is disabled: it's still in the list, but it won't ever
116 ! be used.  (This is just to make it easy to disable and then re-enable 
117 ! them later.)
118 !
119 ! If the first word on the line is the name of a visual followed by a
120 ! colon, then that visual will be used for the program, if it is available.
121 ! If no such visual is available, then the program will be skipped.  In
122 ! this way, you can specify that you want certain programs to run only
123 ! on color screens, and others only on mono screens, by making use of the
124 ! magic visual names "color" and "mono".  Likewise, if some hacks prefer
125 ! colormaps, but others prefer 24-bit windows, that also can be arranged
126 ! (in this case, by using "PseudoColor:" versus "TrueColor:".)
127 !
128 ! Some of the screenhacks are written using OpenGL.  OpenGL programs are
129 ! a bit different than normal X programs, in that they prefer visuals that
130 ! are *half* as deep as the screen.  You can tell xscreensaver to select a
131 ! good visual for a GL program by using the magic visual name "GL".
132 !
133 ! All programs must be launched in such a way that they draw on the root
134 ! window; they should not be spawned in the background with "&".  If shell
135 ! metacharacters are used, they must be understandable to `sh', not `csh'
136 ! (the $SHELL variable is not consulted, for unfortunate but good reasons.)
137 !
138 ! Be sure to check out Demo Mode: run the `xscreensaver-demo' program to
139 ! edit the current list of programs interactively, try out the various modes,
140 ! and change other parameters.  See the man page for details.
141 !
142 *programs:                                                                    \
143                  "Qix (solid)"  qix -root -solid -delay 0 -segments 100     \n\
144            "Qix (transparent)"  qix -root -count 4 -solid -transparent      \n\
145                 "Qix (linear)"  qix -root -count 5 -solid -transparent        \
146                                   -linear -segments 250 -size 100           \n\
147 - mono:            "Qix (xor)"  qix -root -linear -count 5 -size 200          \
148                                   -spread 30 -segments 75 -solid -xor       \n\
149                                                                               \
150           "Attraction (balls)"  attraction -root -mode balls                \n\
151           "Attraction (lines)"  attraction -root -mode lines -points 3        \
152                                   -segments 200                             \n\
153 -          "Attraction (poly)"  attraction -root -mode polygons             \n\
154         "Attraction (splines)"  attraction -root -mode splines -segments      \
155                                   300                                       \n\
156         "Attraction (orbital)"  attraction -root -mode lines -radius 300      \
157                                   -orbit -vmult 0.5                         \n\
158                                                                               \
159                                 pyro -root                                  \n\
160                                 rocks -root                                 \n\
161                                 helix -root                                 \n\
162                                 pedal -root                                 \n\
163                                 rorschach -root -offset 7                   \n\
164                                 hopalong -root                              \n\
165                                 greynetic -root                             \n\
166                                 imsmap -root                                \n\
167                                 slidescreen -root                           \n\
168                                 decayscreen -root                           \n\
169                                 jigsaw -root                                \n\
170                                 blitspin -root -grab                        \n\
171                                 slip -root                                  \n\
172                                 distort -root                               \n\
173                                 spotlight -root                             \n\
174               "Ripples (oily)"  ripples -root -oily -light 2                \n\
175               "Ripples (stir)"  ripples -root -oily -light 2 -stir          \n\
176            "Ripples (desktop)"  ripples -root -water -light 6               \n\
177                                 hypercube -root                             \n\
178                                 hyperball -root                             \n\
179                                 halo -root                                  \n\
180                                 maze -root                                  \n\
181                                 noseguy -root                               \n\
182                                 flame -root                                 \n\
183                                 lmorph -root                                \n\
184                                 deco -root                                  \n\
185                                 moire -root                                 \n\
186                                 moire2 -root                                \n\
187                                 lightning -root                             \n\
188                                 strange -root                               \n\
189                                 spiral -root                                \n\
190                                 laser -root                                 \n\
191                                 grav -root                                  \n\
192                "Grav (trails)"  grav -root -trail -decay                    \n\
193                                 drift -root                                 \n\
194                                 ifs -root                                   \n\
195                                 julia -root                                 \n\
196                                 penrose -root                               \n\
197                                 sierpinski -root                            \n\
198                                 braid -root                                 \n\
199                                 galaxy -root                                \n\
200                                 bouboule -root                              \n\
201                                 swirl -root                                 \n\
202                                 flag -root                                  \n\
203                                 sphere -root                                \n\
204                                 forest -root                                \n\
205                                 lisa -root                                  \n\
206                                 lissie -root                                \n\
207                                 goop -root -max-velocity 0.5 -elasticity      \
208                                   0.9                                       \n\
209                                 starfish -root                              \n\
210              "Starfish (blob)"  starfish -root -blob                        \n\
211                                 munch -root                                 \n\
212                                 fadeplot -root                              \n\
213                                 coral -root -delay 0                        \n\
214                                 mountain -root                              \n\
215                                 triangle -root -delay 1                     \n\
216                                 worm -root                                  \n\
217                                 rotor -root                                 \n\
218                                 ant -root                                   \n\
219                                 demon -root                                 \n\
220                                 loop -root                                  \n\
221                                 vines -root                                 \n\
222                                 kaleidescope -root                          \n\
223                                 xjack -root                                 \n\
224                                 xlyap -root -randomize                      \n\
225                                 cynosure -root                              \n\
226                                 flow -root                                  \n\
227                                 epicycle -root                              \n\
228                                 interference -root                          \n\
229                                 truchet -root -randomize                    \n\
230                                 bsod -root                                  \n\
231                                 crystal -root                               \n\
232                                 discrete -root                              \n\
233                                 kumppa -root                                \n\
234                                 rd-bomb -root                               \n\
235             "RD-Bomb (mobile)"  rd-bomb -root -speed 1 -size 0.1            \n\
236                                 sonar -root                                 \n\
237                                 t3d -root                                   \n\
238                                 penetrate -root                             \n\
239                                 deluxe -root                                \n\
240                                 compass -root                               \n\
241                                 squiral -root                               \n\
242                                 xflame -root                                \n\
243                                 wander -root                                \n\
244               "Wander (spots)"  wander -root -advance 0 -size 10 -circles     \
245                                   True -length 10000 -reset 100000          \n\
246                                 critical -root                              \n\
247                                 phosphor -root                              \n\
248                                 xmatrix -root                               \n\
249                                 petri -root -size 2 -count 20               \n\
250                      "Petri 2"  petri -root -minlifespeed 0.02                \
251                                   -maxlifespeed 0.03 -minlifespan 1           \
252                                   -maxlifespan 1 -instantdeathchan 0          \
253                                   -minorchan 0 -anychan 0.3                 \n\
254                                 shadebobs -root                             \n\
255                                 ccurve -root                                \n\
256                                 blaster -root                               \n\
257                                 bumps -root                                 \n\
258                                 xteevee -root                               \n\
259                                 xspirograph -root                           \n\
260                                 nerverot -root                              \n\
261 -           "NerveRot (dense)"  nerverot -root -count 1000                  \n\
262 -           "NerveRot (thick)"  nerverot -root -count 100 -line-width 4       \
263                                 -max-nerve-radius 0.8 -nervousness 0.5 -db  \n\
264                                 xrayswarm -root                             \n\
265 -              "Zoom (Fatbits)" zoom -root                                  \n\
266                "Zoom (Lenses)"  zoom -root -lenses                          \n\
267                                 rotzoomer -root                             \n\
268 -          "RotZoomer (mobile)" rotzoomer -root -move                       \n\
269 -          "RotZoomer (sweep)"  rotzoomer -root -sweep                      \n\
270                                 whirlwindwarp -root                         \n\
271                     "WhirlyGig" whirlygig -root                             \n\
272                     "SpeedMine" speedmine -root                             \n\
273                     "SpeedWorm" speedmine -root -worm                       \n\
274                                 vermiculate -root                           \n\
275   color:                        bubbles -root                               \n\
276   default-n:                    webcollage -root                            \n\
277   default-n:  "WebCollage (whacked)"                                          \
278                                 webcollage -root -filter                      \
279                                   'vidwhacker -stdin -stdout'               \n\
280 - default-n:                    vidwhacker -root                            \n\
281                                                                               \
282 @GL_KLUDGE@ GL:                 gears -root                                 \n\
283 @GL_KLUDGE@ GL: "Gears (planetary)" gears -root -planetary                  \n\
284 @GL_KLUDGE@ GL:                 superquadrics -root                         \n\
285 @GL_KLUDGE@ GL:                 morph3d -root                               \n\
286 @GL_KLUDGE@ GL:                 cage -root                                  \n\
287 @GL_KLUDGE@ GL:                 moebius -root                               \n\
288 @GL_KLUDGE@ GL:                 stairs -root                                \n\
289 @GL_KLUDGE@ GL:                 pipes -root                                 \n\
290 @GL_KLUDGE@ GL:                 sproingies -root                            \n\
291 @GL_KLUDGE@ GL:                 rubik -root                                 \n\
292 @GL_KLUDGE@ GL:                 atlantis -root                              \n\
293 @GL_KLUDGE@ GL:                 lament -root                                \n\
294 @GL_KLUDGE@ GL:                 bubble3d -root                              \n\
295 @GL_KLUDGE@ GL:                 glplanet -root                              \n\
296 @GL_KLUDGE@ GL:                 pulsar -root                                \n\
297 -          GL:     "Pulsar (textures)"                                        \
298                                   pulsar -root -texture -mipmap               \
299                                   -texture_quality -light -fog              \n\
300 @GLE_KLUDGE@GL:                 extrusion -root                             \n\
301 @GL_KLUDGE@ GL:                 sierpinski3d -root                          \n\
302 @GL_KLUDGE@ GL:                 gflux -root                                 \n\
303 @GL_KLUDGE@ GL:                 stonerview -root                            \n\
304 @GL_KLUDGE@ GL:                 starwars -root                              \n\
305 @GL_KLUDGE@ GL:                 gltext -root                                \n\
306 @GL_KLUDGE@ GL: "GLText (clock)" gltext -text "%A%n%d %b %Y%n%r" -root      \n\
307 @GL_KLUDGE@ GL:  "Molecule"             molecule -root                      \n\
308 @GL_KLUDGE@ GL:  "Molecule (lumpy)"     molecule -root -no-bonds -no-labels \n\
309 @GL_KLUDGE@ GL:                 dangerball -root                            \n\
310 @GL_KLUDGE@ GL:                 circuit -root                               \n\
311                                                                               \
312 -                               xdaliclock -root -builtin3 -cycle           \n\
313 - default-n:                    xearth -nofork -nostars -ncolors 50           \
314                                   -night 3 -wait 0 -timewarp 400.0 -pos       \
315                                   sunrel/38/-30                             \n\
316 -                               xplanetbg -xscreensaver -moonside             \
317                                   -markerfile earth -wait 1 -timewarp 400   \n\
318 -                               ssystem -fullscreen :32                     \n\
319 -                               xmountains -b -M -Z 0 -r 1                  \n\
320 -       "XMountains (top)"      xmountains -b -M -Z 0 -r 1 -m               \n\
321 -                               xaos -fullscreen -autopilot                   \
322                                   -incoloring -1 -outcoloring -1            \n\
323 -                               xfishtank -d -s                             \n\
324 -                               xsnow                                       \n\
325 -                               goban -root                                 \n\
326 -                               electricsheep                               \n\
327 -                               cosmos -root                                \n\
328 -          GL:                  sphereEversion --root                       \n
329
330
331 ! To display a randomized slideshow of images, you can do something like this:
332 !
333 !    default-n:  "Slideshow"    xv -root -rmode 5 -random -viewonly           \
334 !                                 -wloop -wait 30 $HOME/bitmaps/*.jpg       \n\
335 !
336 ! Recipes for using other slideshow programs can be found in the
337 ! XScreenSaver FAQ: http://www.jwz.org/xscreensaver/faq.html
338 !
339 ! Note that we've used "default-n" as the visual name, rather than just
340 ! "default": this means "default visual, no install", that is, it's like
341 ! specifying the command-line arguments "-visual default -no-install".
342 ! This is necessary because, when XV or XLI arerunning in "-root" mode, they
343 ! always assume that the default visual and colormap are being used, rather
344 ! than  examining the window it is drawing on to see what visual and colormap
345 ! it has.  If we didn't force the default visual to be used, we would get an
346 ! X error.  If we didn't force the default colormap to be installed, the
347 ! colors would be all wrong.  "default-i" may also be used as a visual name
348 ! (meaning, "-visual default -install") but you probably won't ever need
349 ! to use that.
350 !
351 !
352 ! Some of the GL demos that SGI ships work with XScreenSaver; most don't.
353 ! XScreenSaver includes a program (not built or installed by default)
354 ! called "xscreensaver-sgigl".  To use the SGI demos with XScreenSaver,
355 ! build that program, and use it to launch the SGI demos.  For example,
356 ! on Irix 6.2, you can do this:
357 !
358 !     xscreensaver-sgigl /usr/demos/bin/ep -S
359 !     xscreensaver-sgigl /usr/demos/bin/bongo
360 !
361 ! On Irix 6.3, things have moved, so you need to do it like this:
362 !
363 !     xscreensaver-sgigl /usr/sbin/ep -S
364 !
365 ! (But note that, on non-SGIs, the bundled "stonerview" hack is a decent
366 ! clone of "ep".  Yay!)
367 !
368 ! You can also use the "ant" demo, but first you need to wrap a shell script
369 ! around it that cds to its home directory, so that it can find its files;
370 ! and also pass it the -S argument, to prevent it from forking.  What a mess!
371 ! Basically, the SGI demo writers went out of their way to make my life hell.
372
373
374
375 !=============================================================================
376 !
377 !      You probably don't want to change anything after this point.
378 !
379 !=============================================================================
380
381
382 XScreenSaver.pointerPollTime:           0:00:05
383 XScreenSaver.initialDelay:              0:00:00
384 XScreenSaver.windowCreationTimeout:     0:00:30
385 XScreenSaver.bourneShell:               /bin/sh
386
387
388 ! Resources for the password and splash-screen dialog boxes of
389 ! the "xscreensaver" daemon.
390 !
391 *Dialog.headingFont:            *-times-bold-r-*-*-*-180-*-*-*-iso8859-1
392 *Dialog.bodyFont:               *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
393 *Dialog.labelFont:              *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
394 *Dialog.buttonFont:             *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
395 *Dialog.dateFont:               *-courier-medium-r-*-*-*-80-*-*-*-iso8859-1
396 *Dialog.foreground:             #000000
397 *Dialog.background:             #BFBFBF
398 *Dialog.Button.foreground:      #000000
399 *Dialog.Button.background:      #D0D0D0
400 *Dialog.text.foreground:        #000000
401 *Dialog.text.background:        #FFFFFF
402 *passwd.thermometer.foreground: #FF0000
403 *passwd.thermometer.background: #FFFFFF
404 *Dialog.topShadowColor:         #E7E7E7
405 *Dialog.bottomShadowColor:      #737373
406 *Dialog.logo.width:             210
407 *Dialog.logo.height:            210
408 *Dialog.internalBorderWidth:    30
409 *Dialog.borderWidth:            1
410 *Dialog.shadowThickness:        4
411
412 *passwd.heading.label:          XScreenSaver %s
413 *passwd.body.label:             This display is locked.
414 *passwd.user.label:             User:
415 *passwd.passwd.label:           Password:
416 *passwd.passwdFont:             *-courier-medium-r-*-*-*-140-*-*-*-iso8859-1
417 *passwd.thermometer.width:      8
418
419 *splash.heading.label:          XScreenSaver %s
420 *splash.body.label:             Copyright Â© 1991-2001 by
421 *splash.body2.label:            Jamie Zawinski <jwz@jwz.org>
422 *splash.demo.label:             Demo
423 *splash.prefs.label:            Prefs
424 *splash.help.label:             Help
425
426
427 ! Resources for the Motif dialog boxes of the "xscreensaver-demo" program.
428
429 *fontList:                       *-helvetica-medium-r-*-*-*-120-*-*-*-iso8859-1
430 *demoDialog*label1.fontList:     *-helvetica-medium-r-*-*-*-140-*-*-*-iso8859-1
431 *cmdText.fontList:                 *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
432 *label0.fontList:                  *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
433 XScreenSaver*doc.fontList:       *-helvetica-medium-r-*-*-*-100-*-*-*-iso8859-1
434 ! above must be fully qualified to get around *sgiMode.
435
436 *foreground:                    #000000
437 *background:                    #C0C0C0
438 *XmTextField.foreground:        #000000
439 *XmTextField.background:        #FFFFFF
440 *list.foreground:               #000000
441 *list.background:               #FFFFFF
442
443 *ApplicationShell.title:        XScreenSaver
444 *warning.title:                 XScreenSaver
445 *warning_popup.title:           XScreenSaver
446 *allowShellResize:              True
447 *autoUnmanage:                  False
448
449 *menubar*file.labelString:      File
450 *menubar*file.mnemonic:         F
451 *file.blank.labelString:        Blank Screen Now
452 *file.blank.mnemonic:           B
453 *file.lock.labelString:         Lock Screen Now
454 *file.lock.mnemonic:            L
455 *file.kill.labelString:         Kill Daemon
456 *file.kill.mnemonic:            K
457 *file.restart.labelString:      Restart Daemon
458 *file.restart.mnemonic:         R
459 *file.exit.labelString:         Exit
460 *file.exit.mnemonic:            E
461
462 *menubar*edit.labelString:      Edit
463 *menubar*edit.mnemonic:         E
464 *edit.cut.labelString:          Cut
465 *edit.cut.mnemonic:             u
466 *edit.copy.labelString:         Copy
467 *edit.copy.mnemonic:            C
468 *edit.paste.labelString:        Paste
469 *edit.paste.mnemonic:           P
470
471 *menubar*help.labelString:      Help
472 *menubar*help.mnemonic:         H
473 *help.about.labelString:        About...
474 *help.about.mnemonic:           A
475 *help.docMenu.labelString:      Documentation...
476 *help.docMenu.mnemonic:         D
477
478 *demoTab.marginWidth:           10
479 *optionsTab.marginWidth:        10
480
481 *XmScrolledWindow.topOffset:    10
482 *XmScrolledWindow.leftOffset:   10
483 *demoTab.topOffset:             4
484 *form1.bottomOffset:            10
485 *form3.leftOffset:              10
486 *form3.rightOffset:             10
487 *frame.topOffset:               10
488 *frame.bottomOffset:            10
489 *enabled.topOffset:             10
490 *visLabel.topOffset:            10
491 *combo.topOffset:               10
492 *form4.bottomOffset:            4
493 *hr.bottomOffset:               4
494 *XmComboBox.marginWidth:        0
495 *XmComboBox.marginHeight:       0
496
497 *demo.marginWidth:              30
498 *demo.marginHeight:             4
499 *man.marginWidth:               10
500 *man.marginHeight:              4
501 *down.leftOffset:               40
502 *down.marginWidth:              4
503 *down.marginHeight:             4
504 *up.marginWidth:                4
505 *up.marginHeight:               4
506 *frame.traversalOn:             False
507
508 *list.automaticSelection:       True
509 *list.visibleItemCount:         20
510 *doc.columns:                   60
511 *combo.columns:                 11
512
513 *demoTab.labelString:           Graphics Demos
514 *optionsTab.labelString:        Screensaver Options
515 *down.labelString:              \\/ 
516 *up.labelString:                /\\ 
517 *frameLabel.labelString:        
518 *cmdLabel.labelString:          Command Line:
519 *cmdLabel.alignment:            ALIGNMENT_BEGINNING
520 *enabled.labelString:           Enabled
521 *visLabel.labelString:          Visual:
522 *visLabel.alignment:            ALIGNMENT_END
523 *visLabel.leftOffset:           20
524 *demo.labelString:              Demo
525 *man.labelString:               Documentation...
526 *done.labelString:              Quit
527
528 *preferencesLabel.labelString:  XScreenSaver Parameters
529
530 *timeoutLabel.labelString:      Saver Timeout
531 *cycleLabel.labelString:        Cycle Timeout
532 *fadeSecondsLabel.labelString:  Fade Duration
533 *fadeTicksLabel.labelString:    Fade Ticks
534 *lockLabel.labelString:         Lock Timeout
535 *passwdLabel.labelString:       Password Timeout
536 *preferencesForm*XmTextField.columns:   8
537
538 *verboseToggle.labelString:     Verbose
539 *cmapToggle.labelString:        Install Colormap
540 *fadeToggle.labelString:        Fade Colormap
541 *unfadeToggle.labelString:      Unfade Colormap
542 *lockToggle.labelString:        Require Password
543
544
545 *OK.marginWidth:                30
546 *OK.marginHeight:               4
547 *OK.leftOffset:                 10
548 *OK.bottomOffset:               10
549 *Cancel.marginWidth:            30
550 *Cancel.marginHeight:           4
551 *Cancel.rightOffset:            10
552 *Cancel.bottomOffset:           10
553
554
555
556
557 !=============================================================================
558 !
559 ! Online documentation for xscreensaver-demo.
560 !
561 !=============================================================================
562
563 ! sanity check -- hands off.
564 *hacks.documentation.isInstalled: True
565
566 *hacks.qix.documentation:                                               \
567 This is the swiss army chainsaw of qix programs.  It bounces a series   \
568 of line segments around the screen, and uses variations on this basic   \
569 motion pattern to produce all sorts of different presentations: line    \
570 segments, filled polygons, overlapping translucent areas...  Written    \
571 by Jamie Zawinski.
572
573 *hacks.attraction.documentation:                                        \
574 Like qix, this uses a simple simple motion model to generate many       \
575 different display modes.  The control points attract each other up to   \
576 a certain distance, and then begin to repel each other.  The            \
577 attraction/repulsion is proportional to the distance between any two    \
578 particles, similar to the strong and weak nuclear forces.               \
579                                                                     \n\n\
580 One of the most interesting ways to watch this hack is simply as        \
581 bouncing balls, because their motions and interactions with each        \
582 other are so odd.  Sometimes two balls will get into a tight orbit      \
583 around each other, to be interrupted later by a third, or by the edge   \
584 of the screen.  It looks quite chaotic.                                 \
585                                                                     \n\n\
586 Written by Jamie Zawinski, based on Lisp code by John Pezaris.
587
588 *hacks.pyro.documentation:                                              \
589 Pyro draws exploding fireworks.  Blah blah blah.  Written by Jamie      \
590 Zawinski.
591
592 *hacks.helix.documentation:                                             \
593 This repeatedly generates spirally string-art-ish patterns.  Written    \
594 by Jamie Zawinski.
595
596 *hacks.pedal.documentation:                                             \
597 This is sort of a combination spirograph/string-art.  It generates a    \
598 large, complex polygon, and lets the X server do the bulk of the work   \
599 by giving it an even/odd winding rule.  Written by Dale Moore, based    \
600 on some ancient PDP-11 code.
601
602 *hacks.rorschach.documentation:                                         \
603 This generates random inkblot patterns.  The algorithm is deceptively   \
604 simple for how well it works; it merely walks a dot around the screen   \
605 randomly, and then reflects the image horizontally, vertically, or      \
606 both.  Any deep-seated neurotic tendencies which this program reveals   \
607 are your own problem.  Written by Jamie Zawinski.
608
609 *hacks.hopalong.documentation:                                          \
610 This draws lacy fractal patterns, based on iteration in the imaginary   \
611 plane, from a 1986 Scientific American article.  Mostly written by      \
612 Patrick Naughton.
613
614 *hacks.greynetic.documentation:                                         \
615 This draws random colored and stippled rectangles.  Written by Jamie    \
616 Zawinski.
617
618 *hacks.imsmap.name: IMSmap
619 *hacks.imsmap.documentation:                                            \
620 This generates random cloud-like patterns.  It looks quite different    \
621 in monochrome and color.  The basic idea is to take four points on      \
622 the edge of the image, and assign each a random ``elevation''.  Then    \
623 find the point between them, and give it a value which is the average   \
624 of the other four, plus some small random offset. Then coloration is    \
625 done based on elevation.                                                \
626                                                                     \n\n\
627 The color selection is done by binding the elevation to either hue,     \
628 saturation, or brightness, and assigning random values to the others.   \
629 The ``brightness'' mode tends to yield cloudlike patterns, and the      \
630 others tend to generate images that look like heat-maps or CAT-scans.   \
631 Written by Juergen Nickelsen and Jamie Zawinski.
632
633 *hacks.slidescreen.name: SlideScreen
634 *hacks.slidescreen.documentation:                                       \
635 This takes an image, divides it into a grid, and then randomly shuffles \
636 the squares around as if it was one of those annoying ``16-puzzle''     \
637 games, where there is a grid of squares, one of which is missing.       \
638 I hate trying to solve those puzzles, but watching one permute itself   \
639 is more amusing.  Written by Jamie Zawinski.
640
641 *hacks.decayscreen.name: DecayScreen
642 *hacks.decayscreen.documentation:                                       \
643 This takes an image and makes it melt.  You've no doubt seen this       \
644 effect before, but no screensaver would really be complete without it.  \
645 It works best if there's something colorful visible.  Warning, if the   \
646 effect continues after the screen saver is off, seek medical attention. \
647 Written by David Wald and Vivek Khera.
648
649 *hacks.jigsaw.documentation:                                            \
650 This grabs a screen image, carves it up into a jigsaw puzzle,           \
651 shuffles it, and then solves the puzzle.  This works especially well    \
652 when you feed it an external video signal instead of letting it grab    \
653 the screen image (actually, I guess this is generally true...)  When    \
654 it is grabbing a video image, it is sometimes pretty hard to guess      \
655 what the image is going to look like once the puzzle is solved.         \
656 Written by Jamie Zawinski.
657
658 *hacks.blitspin.name: BlitSpin
659 *hacks.blitspin.documentation:                                          \
660 The ``blitspin'' hack repeatedly rotates a bitmap by 90 degrees by      \
661 using logical operations: the bitmap is divided into quadrants, and     \
662 the quadrants are shifted clockwise.  Then the same thing is done       \
663 again with progressively smaller quadrants, except that all             \
664 sub-quadrants of a given size are rotated in parallel.  Written by      \
665 Jamie Zawinski based on some cool SmallTalk code seen in in Byte        \
666 Magazine in 1981.                                                       \
667                                                                     \n\n\
668 As you watch it, the image appears to dissolve into static and then     \
669 reconstitute itself, but rotated. You can provide the image to use,     \
670 as an XBM or XPM file, or tell it to grab a screen image and rotate     \
671 that.
672
673 *hacks.slip.documentation:                                              \
674 This program throws some random bits on the screen, then sucks them     \
675 through a jet engine and spews them out the other side.  To avoid       \
676 turning the image completely to mush, every now and then it will and    \
677 then it interjects some splashes of color into the scene, or go into    \
678 a spin cycle, or stretch the image like taffy, or (this is my           \
679 addition) grab an image of your current desktop to chew on.             \
680 Originally written by Scott Draves; whacked on by Jamie Zawinski.
681
682 *hacks.distort.documentation:                                           \
683 This hack grabs an image of the screen, and then lets a transparent     \
684 lens wander around the screen, magnifying whatever is underneath.       \
685 Written by Jonas Munsin.
686
687 *hacks.spotlight.documentation:                                         \
688 Draws a spotlight scanning across a black screen, illumnating the       \
689 underlying desktop when it passes.  Written by Rick Schultz.
690
691 *hacks.hypercube.documentation:                                         \
692 This displays 2D projections of the sequence of 3D objects which are    \
693 the projections of the 4D analog to the cube: as a square is composed   \
694 of four lines, each touching two others; and a cube is composed of      \
695 six squares, each touching four others; a hypercube is composed of      \
696 eight cubes, each touching six others.  To make it easier to            \
697 visualize the rotation, it uses a different color for the edges of      \
698 each face.  Don't think about it too long, or your brain will melt.     \
699 Written by Joe Keane, Fritz Mueller, and Jamie Zawinski.
700
701 *hacks.hyperball.documentation:                                         \
702 Hyperball is to hypercube as dodecahedron is to cube: this displays     \
703 a 2D projection of the sequence of 3D objects which are the projections \
704 of the 4D analog to the dodecahedron.  Written by Joe Keane.
705
706 *hacks.halo.documentation:                                              \
707 This draws trippy psychedelic circular patterns that hurt to look at.   \
708 It can also animate the control-points, but that takes a lot of CPU     \
709 and bandwidth.  Written by Jamie Zawinski.
710
711 *hacks.maze.documentation:                                              \
712 This is the ancient X maze demo, modified to work with xscreensaver.    \
713 It generates a random maze, then solves it with visual feedback.        \
714 Originally by Jim Randell; modified by a cast of thousands.
715
716 *hacks.noseguy.documentation:                                           \
717 A little man with a big nose wanders around your screen saying          \
718 things.  The things which he says can come from a file, or from an      \
719 external program like `zippy' or `fortune'.  This was extracted from    \
720 `xnlock' by Dan Heller.  Colorized by Jamie Zawinski.
721
722 *hacks.flame.documentation:                                             \
723 Another iterative fractal generator.  Written by Scott Draves.
724
725 *hacks.lmorph.name: LMorph
726 *hacks.lmorph.documentation:                                            \
727 This generates random spline-ish line drawings and morphs between       \
728 them.  Written by Sverre H.  Huseby and Glenn T.  Lines.
729
730 *hacks.deco.documentation:                                              \
731 This one subdivides and colors rectangles randomly.  It looks kind of   \
732 like Brady-Bunch-era rec-room wall paneling.  (Raven says: ``this       \
733 screensaver is ugly enough to peel paint.'')  Written by Jamie          \
734 Zawinski, inspired by Java code by Michael Bayne.
735
736 *hacks.moire.documentation:                                             \
737 This one draws cool circular interference patterns.  Most of the        \
738 circles you see aren't explicitly rendered, but show up as a result     \
739 of interactions between the other pixels that were drawn.  Written by   \
740 Jamie Zawinski, inspired by Java code by Michael Bayne.  As he          \
741 pointed out, the beauty of this one is that the heart of the display    \
742 algorithm can be expressed with just a pair of loops and a handful of   \
743 arithmetic, giving it a high ``display hack metric''.
744
745 *hacks.moire2.documentation:                                            \
746 Another example of the fun you can have with moire                      \
747 interference patterns; this hack generates fields of concentric         \
748 circles or ovals, and combines the planes with various operations.      \
749 The planes are moving independently of one another, causing the         \
750 interference lines to ``spray.''  Written by Jamie Zawinski.
751
752 *hacks.lightning.documentation:                                         \
753 This one draws crackling fractal lightning bolts.  It's simple,         \
754 direct, and to the point.  If only it had sound... Written by Keith     \
755 Romberg.
756
757 *hacks.strange.documentation:                                           \
758 This draws strange attractors: it's a colorful,                         \
759 unpredictably-animating field of dots that swoops and twists around.    \
760 The motion is very nice.  Written by Massimino Pascal.
761
762 *hacks.spiral.documentation:                                            \
763 Moving circular patterns, by Peter Schmitzberger.  Moving circular      \
764 patterns means moire; interference patterns, of course.
765
766 *hacks.laser.documentation:                                             \
767 Moving radiating lines, that look vaguely like scanning laser beams.    \
768 Written by Pascal Pensa.  (Frankie say: relax.)
769
770 *hacks.grav.documentation:                                              \
771 This program draws a simple orbital simulation.  If you turn on         \
772 trails, it looks kind of like a cloud-chamber photograph.  Written      \
773 by Greg Bowering.
774
775 *hacks.drift.documentation:                                             \
776 How could one possibly describe this except as ``drifting recursive     \
777 fractal cosmic flames?''  Another fine hack from the Scott Draves       \
778 collection of fine hacks.
779
780 *hacks.ifs.name: IFS
781 *hacks.ifs.documentation:                                               \
782 This one draws spinning, colliding iterated-function-system images.     \
783 Written by Massimino Pascal.
784
785 *hacks.julia.documentation:                                             \
786 This one draws spinning, animating (are you detecting a pattern here    \
787 yet?)  explorations of the Julia set. You've probably seen static       \
788 images of this fractal form before, but it's a lot of fun to watch in   \
789 motion as well.  One interesting thing is that there is a small         \
790 swinging dot passing in front of the image, which indicates the         \
791 control point from which the rest of the image was generated.           \
792 Written by Sean McCullough.
793
794 *hacks.penrose.documentation:                                           \
795 Draws quasiperiodic tilings; think of the implications on modern        \
796 formica technology.  Written by Timo Korvola.                           \
797                                                                     \n\n\
798 In April 1997, Sir Roger Penrose, a British math professor who has      \
799 worked with Stephen Hawking on such topics as relativity, black         \
800 holes, and whether time has a beginning, filed a                        \
801 copyright-infringement lawsuit against the Kimberly-Clark               \
802 Corporation, which Penrose said copied a pattern he created (a          \
803 pattern demonstrating that ``a nonrepeating pattern could exist in      \
804 nature'') for its Kleenex quilted toilet paper. Penrose said he         \
805 doesn't like litigation but, ``When it comes to the population of       \
806 Great Britain being invited by a multinational to wipe their bottoms    \
807 on what appears to be the work of a Knight of the Realm, then a last    \
808 stand must be taken.''                                                  \
809                                                                     \n\n\
810 As reported by News of the Weird #491, 4-jul-1997.
811
812 *hacks.sierpinski.documentation:                                        \
813 This draws the two-dimensional variant of the recursive Sierpinski      \
814 triangle fractal.  Written by Desmond Daignault.
815
816 *hacks.braid.documentation:                                             \
817 Draws random color-cycling inter-braided concentric circles.  Written   \
818 by John Neil.
819
820 *hacks.galaxy.documentation:                                            \
821 This draws spinning galaxies, which then collide and scatter their      \
822 stars to the, uh, four winds or something.  Originally an Amiga         \
823 program by Uli Siegmund.
824
825 *hacks.bouboule.documentation:                                          \
826 This draws what looks like a spinning, deforming baloon with            \
827 varying-sized spots painted on its invisible surface.  Written by       \
828 Jeremie Petit.
829
830 *hacks.swirl.documentation:                                             \
831 More flowing, swirly patterns. This version is by M.  Dobie and R.      \
832 Taylor, but you might have seen a Mac program similar to this called    \
833 FlowFazer.  There is also a cool Java applet of a similar concept
834
835 *hacks.flag.documentation:                                              \
836 This draws a waving colored flag, that undulates its way around the     \
837 screen.  The trick is the flag can contain arbitrary text and images.   \
838 By default, it displays either the current system name and OS           \
839 type, or a picture of ``Bob,'' but you can replace the text or the      \
840 image with a command-line option.  Written by Charles Vidal and Jamie   \
841 Zawinski.
842
843 *hacks.sphere.documentation:                                            \
844 Another of the classic screenhacks of the distant past, this one        \
845 draws shaded spheres in multiple colors.  This hack traces its          \
846 lineage back to Tom Duff in 1982.
847
848 *hacks.forest.documentation:                                            \
849 This draws fractal trees.  Written by Peter Baumung.  Everybody loves   \
850 fractals, right?
851
852 *hacks.lisa.documentation:                                              \
853 This draws Lisajous loops, by Caleb Cullen.  Remember that device       \
854 they had the Phantom Zone prisoners in during their trial in            \
855 Superman?  I think that was one of these.
856
857 *hacks.lissie.documentation:                                            \
858 Another Lissajous figure.  This one draws the progress of circular      \
859 shapes along a path.  Written by Alexander Jolk.
860
861 *hacks.goop.documentation:                                              \
862 This draws set of animating, transparent, amoeba-like blobs.  The       \
863 blobs change shape as they wander around the screen, and they are       \
864 translucent, so you can see the lower blobs through the higher ones,    \
865 and when one passes over another, their colors merge.  Written by       \
866 Jamie Zawinski.  I got the idea for this from a cool mouse pad I        \
867 have, which achieves the same kind of effect in real life by having     \
868 several layers plastic with colored oil between them.  Written by       \
869 Jamie Zawinski.
870
871 *hacks.starfish.documentation:                                          \
872 This generates a sequence of undulating, throbbing, star-like           \
873 patterns which pulsate, rotate, and turn inside out.  Another display   \
874 mode uses these shapes to lay down a field of colors, which are then    \
875 cycled.  The motion is very organic.  Written by Jamie Zawinski.
876
877 *hacks.munch.documentation:                                           \n\
878         DATAI 2                                                       \n\
879         ADDB 1,2                                                      \n\
880         ROTC 2,-22                                                    \n\
881         XOR 1,2                                                       \n\
882         JRST .-4                                                      \n\
883                                                                       \n\
884 As reported by HAKMEM, in 1962, Jackson Wright wrote the above PDP-1    \
885 code. That code still lives on in this screenhack, some 35 years        \
886 later.  The number of lines of enclosing code has increased             \
887 substantially, however.  This version is by Tim Showalter.
888
889 *hacks.fadeplot.name: FadePlot
890 *hacks.fadeplot.documentation:                                          \
891 Draws what looks like a waving ribbon following a sinusoidal path.      \
892 Written by Bas van Gaalen and Charles Vidal.
893
894 *hacks.coral.documentation:                                             \
895 Simulates coral growth, albeit somewhat slowly.  This image doesn't     \
896 really do it justice.  Written by Frederick Roeber.
897
898 *hacks.mountain.documentation:                                          \
899 Generates random 3d plots that look vaguely mountainous.  Written by    \
900 Pascal Pensa.
901
902 *hacks.triangle.documentation:                                          \
903 Generates random mountain ranges using iterative subdivision of         \
904 triangles.  Written by Tobias Gloth.
905
906 *hacks.worm.documentation:                                              \
907 An ancient xlock hack that draws multicolored worms that crawl around   \
908 the screen.  Written by Brad Taylor, Dave Lemke, Boris Putanec, and     \
909 Henrik Theiling.
910
911 *hacks.rotor.documentation:                                             \
912 Another ancient xlock demo, this one by Tom Lawrence.  It draws a       \
913 line segment moving along a complex spiraling curve.  I tweaked this    \
914 to generate curvier lines, but still frames of it don't look like       \
915 much.
916
917 *hacks.ant.documentation:                                               \
918 A cellular automaton that is really a two-dimensional Turing machine:   \
919 as the heads (``ants'') walk along the screen, they change pixel        \
920 values in their path.  Then, as they pass over changed pixels, their    \
921 behavior is influenced.  Written by David Bagley.
922
923 *hacks.demon.documentation:                                             \
924 A cellular automaton that starts with a random field, and organizes     \
925 it into stripes and spirals.  Written by David Bagley.
926
927 *hacks.loop.documentation:                                              \
928 This one produces loop-shaped colonies that spawn, age, and             \
929 eventually die.  Written by David Bagley.
930
931 *hacks.vines.documentation:                                             \
932 This one generates a continuous sequence of small, curvy geometric      \
933 patterns.  It scatters them around your screen until it fills up,       \
934 then it clears the screen and starts over.  Written by Tracy Camp and   \
935 David Hansen.
936
937 *hacks.kaleidescope.documentation:                                      \
938 Another clone of an ancient meme, consisting largely of frenetic        \
939 rotational motion of colored lines.  This one is by Ron Tapia.  The     \
940 motion is nice, but I think it needs more solids, or perhaps just       \
941 brighter colors.  More variations in the rotational speed might help,   \
942 too.
943
944 *hacks.xjack.documentation:                                             \
945 This program behaves schizophrenically and makes a lot of typos.        \
946 Written by Jamie Zawinski.  If you haven't seen Stanley Kubrick's       \
947 masterpiece, ``The Shining,'' you won't get it.  Those who have         \
948 describe this hack as ``inspired.''
949
950 *hacks.xlyap.documentation:                                             \
951 This generates pretty fractal pictures by doing funky math involving    \
952 the ``Lyapunov exponent.''  It has a cool interactive mode, too.        \
953 Written by Ron Record.
954
955 *hacks.cynosure.documentation:                                          \
956 A hack similar to `greynetic', but less frenetic.  The first            \
957 implementation was by Stephen Linhart; then Ozymandias G. Desiderata    \
958 wrote a Java applet clone.  That clone was discovered by Jamie          \
959 Zawinski, and ported to C for inclusion here.
960
961 *hacks.flow.documentation:                                              \
962 Another series of strange attractors: a flowing series of points,       \
963 making strange rotational shapes.  Written by Jeff Butterworth.
964
965 *hacks.epicycle.documentation:                                          \
966 This program draws the path traced out by a point on the edge of a      \
967 circle.  That circle rotates around a point on the rim of another       \
968 circle, and so on, several times. These were the basis for the          \
969 pre-heliocentric model of planetary motion.  Written by James           \
970 Youngman.
971
972 *hacks.interference.documentation:                                      \
973 Another color-field hack, this one works by computing decaying          \
974 sinusoidal waves, and allowing them to interfere with each other as     \
975 their origins move.  Written by Hannu Mallat.
976
977 *hacks.truchet.documentation:                                           \
978 This draws line- and arc-based Truchet patterns that tile the screen.   \
979 Written by Adrian Likins.
980
981 *hacks.bsod.name: BSOD
982 *hacks.bsod.documentation:                                              \
983 BSOD stands for ``Blue Screen of Death.''  The finest in personal       \
984 computer emulation, this hack simulates popular screen savers from a    \
985 number of less robust operating systems.  Written by Jamie Zawinski.
986
987 *hacks.crystal.documentation:                                           \
988 Moving polygons, similar to a kaleidescope (more like a kaleidescope    \
989 than the hack called `kaleid,' actually.) This one by Jouk Jansen.
990
991 *hacks.discrete.documentation:                                          \
992 More ``discrete map'' systems, including new variants of Hopalong and   \
993 Julia, and a few others.  Written by Tim Auckland.
994
995 *hacks.kumppa.documentation:                                            \
996 Spiraling, spinning, and very, very fast splashes of color rush         \
997 toward the screen.  Written by Teemu Suutari.
998
999 *hacks.rd-bomb.name: RD-Bomb
1000 *hacks.rd-bomb.documentation:                                           \
1001 Another variation of the `Bomb' program by Scott Draves.  This draws    \
1002 a grid of growing square-like shapes that, once they overtake each      \
1003 other, react in unpredictable ways.  ``RD'' stands for                  \
1004 reaction-diffusion.
1005
1006 *hacks.sonar.documentation:                                             \
1007 This program draws a simulation of a sonar screen.  Written by          \
1008 default, it displays a random assortment of ``bogies'' on the screen,   \
1009 but if compiled properly, it can ping (pun intended) your local         \
1010 network, and actually plot the proximity of the other hosts on your     \
1011 network to you.  It would be easy to make it monitor other sources of   \
1012 data, too.  (Processes?  Active network connections?  CPU usage per     \
1013 user?)  Written by Stephen Martin.
1014
1015 *hacks.t3d.name: T3D
1016 *hacks.t3d.documentation:                                               \
1017 This draws a working analog clock composed of floating, throbbing       \
1018 bubbles.  Written by Bernd Paysan.
1019
1020 *hacks.penetrate.documentation:                                         \
1021 This hack simulates the classic arcade game Missile Command.  Written   \
1022 by Adam Miller.
1023
1024 *hacks.deluxe.documentation:                                            \
1025 This draws a pulsing sequence of stars, circles, and lines.  It would   \
1026 look better if it was faster, but as far as I can tell, there is no     \
1027 way to make this be both: fast, and flicker-free.  Yet another reason   \
1028 X sucks.  Written by Jamie Zawinski.
1029
1030 *hacks.compass.documentation:                                           \
1031 This draws a compass, with all elements spinning about randomly, for    \
1032 that ``lost and nauseous'' feeling. Written by Jamie Zawinski.
1033
1034 *hacks.squiral.documentation:                                           \
1035 Draws a set of interacting, square-spiral-producing automata.  The      \
1036 spirals grow outward until they hit something, then they go around      \
1037 it.  Written by Jeff Epler.
1038
1039 *hacks.xflame.documentation:                                            \
1040 Draws a simulation of pulsing fire.  It can also take an arbitrary      \
1041 image and set it on fire too.  Written by Carsten Haitzler, hacked on   \
1042 by many others.
1043
1044 *hacks.wander.documentation:                                            \
1045 Draws a colorful random-walk, in various forms.  Written by Rick        \
1046 Campbell.
1047
1048 *hacks.critical.documentation:                                          \
1049 Draws a system of self-organizing lines.  It starts out as random       \
1050 squiggles, but after a few iterations, order begins to appear.          \
1051 Written by Martin Pool.
1052
1053 *hacks.phosphor.documentation:                                          \
1054 Draws a simulation of an old terminal, with large pixels and            \
1055 long-sustain phosphor. It can run any program as a source of the text   \
1056 it displays.  Written by Jamie Zawinski.
1057
1058 *hacks.xmatrix.documentation:                                           \
1059 A rendition of the text scrolls seen in the movie ``The Matrix.''       \
1060 Written by Jamie Zawinski.
1061
1062 *hacks.petri.documentation:                                             \
1063 This simulates colonies of mold growing in a petri dish.  Growing       \
1064 colored circles overlap and leave spiral interference in their wake.    \
1065 Written by Dan Bornstein.
1066
1067 *hacks.shadebobs.name: ShadeBobs
1068 *hacks.shadebobs.documentation:                                         \
1069 This draws smoothly-shaded oscilating oval patterns, that look          \
1070 something like vapor trails or neon tubes.  Written by Shane Smit.
1071
1072 *hacks.ccurve.name: C Curve
1073 *hacks.ccurve.documentation:                                            \
1074 Generates self-similar linear fractals, including the classic ``C       \
1075 Curve.''  Written by Rick Campbell.
1076
1077 *hacks.blaster.documentation:                                           \
1078 Draws a simulation of flying space-combat robots (cleverly disguised    \
1079 as colored circles) doing battle in front of a moving star field.       \
1080 Written by Jonathan Lin.
1081
1082 *hacks.bumps.documentation:                                             \
1083 A bit like `Spotlight', except that instead of merely exposing part     \
1084 of your desktop, it creates a bump map from it.  Basically, it          \
1085 3D-izes a roaming section of your desktop, based on color intensity.    \
1086 Written by Shane Smit.
1087
1088 *hacks.xteevee.name: XTeeVee
1089 *hacks.xteevee.documentation:                                           \
1090 XTeeVee simulates various television problems, including static,        \
1091 loss of vertical hold, and a test pattern.  By Greg Knauss.
1092
1093 *hacks.xspirograph.name: XSpiroGraph
1094 *hacks.xspirograph.documentation:                                       \
1095 Simulates that pen-in-nested-plastic-gears toy from your childhood.     \
1096 By Rohit Singh.
1097
1098 *hacks.nerverot.name: NerveRot
1099 *hacks.nerverot.documentation:                                          \
1100 Draws different shapes composed of nervously vibrating squiggles,       \
1101 as if seen through a camera operated by a monkey on crack.              \
1102 By Dan Bornstein.
1103
1104 *hacks.webcollage.name: WebCollage
1105 *hacks.webcollage.documentation:                                        \
1106 This program makes collages out of random images pulled off of the      \
1107 World Wide Web.  It finds these images by doing random web searches,    \
1108 and then extracting images from the returned pages.  It can also be     \
1109 set up to filter the images through the `VidWhacker' program, above,    \
1110 which looks really great.                                               \
1111                                                                     \n\n\
1112 (Note that most of the images it finds are text, and not pictures.      \
1113 This is because most of the web is pictures of text.  Which is pretty   \
1114 sad.)  Written by Jamie Zawinski.
1115
1116 *hacks.vidwhacker.name: VidWhacker
1117 *hacks.vidwhacker.documentation:                                        \
1118 This is actually just a shell script that grabs a frame of video from   \
1119 the system's video input, and then uses some PBM filters (chosen at     \
1120 random) to manipulate and recombine the video frame in various ways     \
1121 (edge detection, subtracting the image from a rotated version of        \
1122 itself, etc.)  Then it displays that image for a few seconds, and       \
1123 does it again.  This works really well if you just feed broadcast       \
1124 television into it.                                                     \
1125                                                                     \n\n\
1126 Currently, the three lines of the script that actually grab the         \
1127 source picture are SGI specific, but it should be trivial to adapt it   \
1128 to work on other systems that can grab video (please send me the        \
1129 changes if you do this...)
1130
1131 *hacks.rocks.documentation:                                             \
1132 This draws an animation of flight through an asteroid field, with       \
1133 changes in rotation and direction.  It can also display 3D              \
1134 separations for red/blue glasses!  Mostly written by Jamie Zawinski.
1135
1136 *hacks.bubbles.documentation:                                           \
1137 This simulates the kind of bubble formation that happens when water     \
1138 boils:small bubbles appear, and as they get closer to each other,       \
1139 they combine to form larger bubbles, which eventually pop.  Written     \
1140 by James Macnicol.
1141
1142 *hacks.gears.documentation:                                             \
1143 This draws sets of turning, interlocking gears, rotating in three       \
1144 dimensions.  Another GL hack, by Danny Sung, Brian Paul, Ed Mackey,     \
1145 and Jamie Zawinski.
1146
1147 *hacks.superquadrics.documentation:                                     \
1148 Ed Mackey reports that he wrote the first version of this program in    \
1149 BASIC on a Commodore 64 in 1987, as a 320x200 black and white           \
1150 wireframe.  Now it is GL and has specular reflections.
1151
1152 *hacks.morph3d.name: Morph3D
1153 *hacks.morph3d.documentation:                                           \
1154 Another 3d shape-changing GL hack, by Marcelo Vianna.  It has the       \
1155 same shiny-plastic feel as Superquadrics, as many computer-generated    \
1156 objects do...
1157
1158 *hacks.cage.documentation:                                              \
1159 This draws Escher's ``Impossible Cage,'' a 3d analog of a moebius       \
1160 strip, and rotates it in three dimensions.  Written by Marcelo          \
1161 Vianna.
1162
1163 *hacks.moebius.documentation:                                           \
1164 Another M.  C.  Escher hack by Marcelo Vianna, this one draws           \
1165 ``Moebius Strip II,'' a GL image of ants walking along the surface of   \
1166 a moebius strip.
1167
1168 *hacks.stairs.documentation:                                            \
1169 by Marcelo Vianna's third Escher GL hack, this one draws an             \
1170 ``infinite'' staircase.
1171
1172 *hacks.pipes.documentation:                                             \
1173 If you've ever been in the same room with a Windows NT machine,         \
1174 you've probably seen this GL hack.  This version is by Marcelo          \
1175 Vianna.
1176
1177 *hacks.sproingies.documentation:                                        \
1178 Q-Bert meets Marble Madness!  Written by Ed Mackey.
1179
1180 *hacks.rubik.documentation:                                             \
1181 Draws a Rubik's Cube that rotates in three dimensions and repeatedly    \
1182 shuffles and solves itself.  Another fine GL hack by Marcelo Vianna.
1183
1184 *hacks.atlantis.documentation:                                          \
1185 This is xfishtank writ large: a GL animation of a number of sharks,     \
1186 dolphins, and whales.  The swimming motions are great. Originally       \
1187 written by Mark Kilgard.
1188
1189 *hacks.lament.documentation:                                            \
1190 Animates a simulation of Lemarchand's Box, repeatedly solving itself.   \
1191 Requires OpenGL, and a machine with fast hardware support for texture   \
1192 maps.  Warning: occasionally opens doors.  Written by Jamie Zawinski.
1193
1194 *hacks.bubble3d.name: Bubble3D
1195 *hacks.bubble3d.documentation:                                          \
1196 Draws a stream of rising, undulating 3D bubbles, rising toward the      \
1197 top of the screen, with nice specular reflections. Written by Richard   \
1198 Jones.
1199
1200 *hacks.glplanet.name: GLPlanet
1201 *hacks.glplanet.documentation:                                          \
1202 Draws a planet bouncing around in space.  Written by David Konerding.   \
1203 The built-in image is a map of the earth (extracted from `xearth'),     \
1204 but you can wrap any texture around the sphere, e.g., the planetary     \
1205 textures that come with `ssystem'.
1206
1207 *hacks.pulsar.documentation:                                            \
1208 Draws some intersecting planes, making use of alpha blending, fog,      \
1209 textures, and mipmaps, plus a ``frames per second'' meter so that you   \
1210 can tell how fast your graphics card is...  Requires OpenGL.  Written   \
1211 by David Konerding.
1212
1213 *hacks.extrusion.documentation:                                         \
1214 Draws various rotating extruded shapes that twist around, lengthen,     \
1215 and turn inside out.  Created by David Konerding from the samples       \
1216 that come with the GL Extrusion library by Linas Vepstas.
1217
1218 *hacks.sierpinski3d.name: Sierpinski3D
1219 *hacks.sierpinski3d.documentation:                                      \
1220 This draws the three-dimensional variant of the recursive Sierpinski    \
1221 triangle fractal, using GL.  Written by Tim Robinson and Jamie Zawinski.
1222
1223 *hacks.ripples.documentation:                                           \
1224 This draws rippling interference patterns like splashing water.         \
1225 With the -water option, it manipulates your desktop image to look       \
1226 like something is dripping into it.  Written by Tom Hammersley.
1227
1228 *hacks.gflux.name: GFlux
1229 *hacks.gflux.documentation:                                             \
1230 Draws a rippling waves on a rotating wireframe grid, using GL.          \
1231 Written by Josiah Pease.
1232
1233 *hacks.xrayswarm.name: XRaySwarm
1234 *hacks.xrayswarm.documentation:                                         \
1235 Draws a few swarms of critters flying around the screen, with nicely    \
1236 faded color trails behind them.  Written by Chris Leger.
1237
1238 *hacks.zoom.documentation:                                              \
1239 Zooms in on a part of the screen and then moves around.  With the       \
1240 -lenses option the result is like looking through many overlapping      \
1241 lenses rather than just a simple zoom.  Written by James Macnicol.
1242
1243 *hacks.whirlwindwarp.name: WhirlwindWarp
1244 *hacks.whirlwindwarp.documentation:                                  \
1245 Floating stars are acted upon by a mixture of simple 2D              \
1246 forcefields.  The strength of each forcefield changes                \
1247 continuously, and it is also switched on and off at random.          \
1248 By Paul 'Joey' Clark.
1249
1250 *hacks.rotzoomer.name: RotZoomer
1251 *hacks.rotzoomer.documentation:                                      \
1252 Creates a collage of rotated and scaled portions of the              \
1253 screen. Written by Claudio Matsuoka.
1254
1255 *hacks.stonerview.name: StonerView
1256 *hacks.stonerview.documentation:                                     \
1257 Chains of colorful squares dance around each other in complex spiral \
1258 patterns.  Written by Andrew Plotkin, based on SGI's `electropaint'  \
1259 screensaver.
1260
1261 *hacks.starwars.name: StarWars
1262 *hacks.starwars.documentation:                                       \
1263 Draws a stream of text slowly scrolling into the distance at an      \
1264 angle, over a star field, like at the beginning of the movie of the  \
1265 same name.  Written by Jamie Zawinski and Claudio Matauoka.
1266
1267 *hacks.gltext.name: GLText
1268 *hacks.gltext.documentation:                                         \
1269 Displays a few lines of text spinning around in a solid 3D font.     \
1270 Written by Jamie Zawinski.
1271
1272 *hacks.molecule.documentation:                                       \
1273 Draws several different representations of molecules.  Some common   \
1274 molecules are built in, and it can also read PDB (Protein Data Base) \
1275 files as input.  Written by Jamie Zawinski.
1276
1277 *hacks.dangerball.name: DangerBall
1278 *hacks.dangerball.documentation:                                     \
1279 Draws a ball that periodically extrudes many random spikes.  Ouch!   \
1280 Written by Jamie Zawinski.
1281
1282 *hacks.whirlygig.name: WhirlyGig
1283 *hacks.whirlygig.documentation:                                     \
1284 Draws zooming chains of sinusoidal spots.  Written by Ashton Trey Belew.
1285
1286 *hacks.speedmine.name: SpeedMine
1287 *hacks.speedmine.documentation:                                     \
1288 Simulates speeding down a rocky mineshaft, or a funky dancing worm. \
1289 Written by Conrad Parker.
1290
1291 *hacks.circuit.documentation:                                        \
1292 Animates a number of 3D electronic components.  Written by Ben Buxton.
1293
1294 *hacks.vermiculate.documentation:                                    \
1295 Draws squiggly worm-like paths.  Written by Tyler Pierce.
1296
1297
1298 !=============================================================================
1299 !
1300 ! Documentation for some programs that are not bundled with XScreenSaver
1301 !
1302 !=============================================================================
1303
1304 *hacks.xdaliclock.name: XDaliClock
1305 *hacks.xdaliclock.documentation:                                        \
1306 XDaliClock draws a large digital clock, the numbers of which change by  \
1307 ``melting'' into their new shapes.  Written by Jamie Zawinski.  This    \
1308 is not included with the XScreenSaver package, but if you don't have    \
1309 it already, you can find it at <http://www.jwz.org/xdaliclock/>.
1310
1311 *hacks.xearth.documentation:                                            \
1312 XEarth draws an image of the Earth, as seen from your favorite vantage  \
1313 point in space, correctly shaded for the current position of the Sun.   \
1314 Written by Kirk Johnson.  This is not included with the XScreenSaver    \
1315 package, but if you don't have it already, you can find it at           \
1316 <http://www.cs.colorado.edu/~tuna/xearth/>.
1317
1318 *hacks.xplanetbg.name: XPlanet
1319 *hacks.xplanetbg.documentation:                                         \
1320 XPlanet is like XEarth, but with more options.  It draws an image of    \
1321 the Earth (or other planets!), as seen from your favorite vantage       \
1322 point in space, correctly shaded for the current position of the Sun.   \
1323 Written by Hari Nair.  This is not included with the XScreenSaver       \
1324 package, but if you don't have it already, you can find it at           \
1325 <http://xplanet.sourceforge.net/>.
1326
1327 *hacks.ssystem.name: SSystem
1328 *hacks.ssystem.documentation:                                           \
1329 SSystem is a GL Solar System simulator.  It simulates flybys of Sun,    \
1330 the nine planets and a few major satellites, with four camera modes.    \
1331 Written by Raul Alonso.  This is not included with the XScreenSaver     \
1332 package, but if you don't have it already, you can find it at           \
1333 <http://www1.las.es/~amil/ssystem/>.
1334
1335 *hacks.xmountains.documentation:                                        \
1336 XMountains generates realistic-looking fractal terrains of snow-capped  \
1337 mountains near water, with either a top view or a side view.            \
1338 Written by Stephen Booth.  This is not included with the XScreenSaver   \
1339 package, but if you don't have it already, you can find it at           \
1340 <http://www.epcc.ed.ac.uk/~spb/xmountains/>.                            \
1341                                                                     \n\n\
1342 Be sure to compile it with -DVROOT or it won't work right when launched \
1343 by the xscreensaver daemon.
1344
1345 *hacks.xaos.name: XaoS
1346 *hacks.xaos.documentation:                                              \
1347 XaoS generates fast fly-through animations of the Mandelbrot and other  \
1348 fractal sets.  Written by Thomas Marsh and Jan Hubicka.    This is not  \
1349 included with the XScreenSaver package, but if you don't have it        \
1350 already, you can find it at <http://limax.paru.cas.cz/~hubicka/XaoS/>.
1351
1352 *hacks.xfishtank.name: XFishTank
1353 *hacks.xfishtank.documentation:                                         \
1354 Fish!  This is not included with the XScreenSaver package, but if you   \
1355 don't have it already, you can find it at                               \
1356 <http://metalab.unc.edu/pub/Linux/X11/demos/>.
1357
1358 *hacks.xsnow.documentation:                                             \
1359 Draws falling snow and the occasional tiny Santa.  By Rick Jansen.      \
1360 You can find it at <http://www.euronet.nl/~rja/Xsnow/>.
1361
1362 *hacks.goban.documentation:                                             \
1363 Replays historical games of go (aka wei-chi and baduk) on the screen.   \
1364 By Scott Draves.  You can find it at <http://www.draves.org/goban/>.
1365
1366 *hacks.electricsheep.name: ElectricSheep
1367 *hacks.electricsheep.documentation:                                     \
1368 ElectricSheep is an xscreensaver module that displays mpeg video of     \
1369 an animated fractal flame.  In the background, it contributes render    \
1370 cycles to the next animation.  Periodically it uploades completed       \
1371 frames to the server, where they are compressed for distribution to     \
1372 all clients.                                                            \
1373                                                                     \n\n\
1374 This program is recommended only if you have a high bandwidth           \
1375 connection to the Internet.                                             \
1376                                                                     \n\n\
1377 By Scott Draves.  You can find it at <http://www.electricsheep.org/>.   \
1378 See that web site for configuration information.
1379
1380 *hacks.cosmos.documentation:                                            \
1381 Draws fireworks and zooming, fading flares.  By Tom Campbell.           \
1382 You can find it at <http://www.mindspring.com/~campbell/cosmos/>.
1383
1384 *hacks.sphereEversion.name: SphereEversion
1385 *hacks.sphereEversion.documentation:                                    \
1386 SphereEversion draws an animation of a sphere being turned inside out.  \
1387 A sphere can be turned inside out, without any tears, sharp creases or  \
1388 discontinuities, if the surface of the sphere is allowed to intersect   \
1389 itself.  This program animates what is known as the Thurston Eversion.  \
1390 Written by Nathaniel Thurston and Michael McGuffin.  This program is    \
1391 not included with the XScreenSaver package, but if you don't have it    \
1392 already, you can find it at <http://www.dgp.utoronto.ca/~mjmcguff/eversion/>.
1393
1394 ! (xrdb prevention kludge: whole file) */