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