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