X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=driver%2FXScreenSaver.ad.in;h=5b1d3b65f8d1a1aac14021955bdb489740f4d8a6;hb=a1d41b2aa6e18bf9a49b914a99dda8232c5d7762;hp=72f79d4bce72c89bdf291374f253eaecb63a25c3;hpb=6bb727f03bff0389fbb1349d7df4c9d8d7532959;p=xscreensaver diff --git a/driver/XScreenSaver.ad.in b/driver/XScreenSaver.ad.in index 72f79d4b..5b1d3b65 100644 --- a/driver/XScreenSaver.ad.in +++ b/driver/XScreenSaver.ad.in @@ -4,30 +4,97 @@ ! a screen saver and locker for the X window system ! by Jamie Zawinski ! -! version 2.16 +! version 3.34 +! 25-Oct-2001 ! ! See "man xscreensaver" for more info. The latest version is always -! available at http://people.netscape.com/jwz/xscreensaver/ +! available at http://www.jwz.org/xscreensaver/ -*timeout: 10 -*cycle: 10 -*lockTimeout: 0 -*passwdTimeout: 30 + +! These resources, when placed in the system-wide app-defaults directory +! (e.g., /usr/lib/X11/app-defaults/XScreenSaver) will provide the default +! settings for new users. However, if you have a ".xscreensaver" file in +! your home directory, the settings in that file take precedence. + + +! Don't hand this file to "xrdb" -- that isn't how app-defaults files work. +! Though app-defaults files have (mostly) the same syntax as your ~/.Xdefaults +! file, they are used differently, and if you run this file through xrdb, +! you will probably mess things up. + +#error Do not run app-defaults files through xrdb! +#error That does not do what you might expect. +#error Put this file in /usr/lib/X11/app-defaults/XScreenSaver instead. + +! /* (xrdb prevention kludge: whole file) + +*timeout: 0:10:00 +*cycle: 0:10:00 +*lockTimeout: 0:00:00 +*passwdTimeout: 0:00:30 +*dpmsEnabled: False +*dpmsStandby: 2:00:00 +*dpmsSuspend: 2:00:00 +*dpmsOff: 4:00:00 +*grabDesktopImages: True +*grabVideoFrames: False +*chooseRandomImages: False +*imageDirectory: *nice: 10 +*memoryLimit: 0 *lock: False +*lockVTs: True *verbose: False +*timestamp: False *fade: True *unfade: False -*fadeSeconds: 3 +*fadeSeconds: 0:00:03 *fadeTicks: 20 +*splash: True +*splashDuration: 0:00:05 +*visualID: default *captureStderr: True -*captureStdout: True -*textForeground: Yellow -*textBackground: Black +*overlayTextForeground: #FFFF00 +*overlayTextBackground: #000000 *overlayStderr: True *font: *-medium-r-*-140-*-m-* +! The default is to use these extensions if available (as noted.) +*sgiSaverExtension: True +*mitSaverExtension: False +*xidleExtension: True +*procInterrupts: True + +! This is what the "Demo" button on the splash screen runs (/bin/sh syntax.) +*demoCommand: xscreensaver-demo + +! This is what the "Prefs" button on the splash screen runs (/bin/sh syntax.) +*prefsCommand: xscreensaver-demo -prefs + +! This is the URL that the "Help" button on the splash screen loads. +*helpURL: http://www.jwz.org/xscreensaver/man.html + +! This is how the "Help" button loads URLs (/bin/sh syntax.) +! The "helpURL" will be substituted for up to two occurrences of "%s". +*loadURL: netscape -remote 'openURL(%s)' || netscape '%s' + +! This is what the "Manual" button in xscreensaver-demo runs (/bin/sh syntax.) +@GNOMEHELP_N@*manualCommand: xterm +sb -fg black -bg gray75 -T '%s manual' \ +@GNOMEHELP_N@ -e /bin/sh -c 'man "%s" || read foo' +! For GNOME systems: +@GNOMEHELP_Y@*manualCommand: gnome-help-browser 'man:%s' + + +! The format used for printing the date and time in the password dialog box +! (see the strftime(3) manual page for details.) +*dateFormat: %d-%b-%y (%a); %I:%M %p +! To show the time only: +! *dateFormat: %I:%M %p +! For 24 hour time: +! *dateFormat: %H:%M + + ! Turning on "installColormap" interacts erratically with twm and tvtwm, ! but seems to work fine with mwm and olwm. Try it and see. If your ! screen turns some color other than black, the window manager is buggy, @@ -44,7 +111,12 @@ ! ! Each line is an `sh' command. ! -! But, if the first word on the line is the name of a visual followed by a +! If the first (non-blank) character on the line is "-", then that means +! that this command is disabled: it's still in the list, but it won't ever +! be used. (This is just to make it easy to disable and then re-enable +! them later.) +! +! If the first word on the line is the name of a visual followed by a ! colon, then that visual will be used for the program, if it is available. ! If no such visual is available, then the program will be skipped. In ! this way, you can specify that you want certain programs to run only @@ -53,176 +125,229 @@ ! colormaps, but others prefer 24-bit windows, that also can be arranged ! (in this case, by using "PseudoColor:" versus "TrueColor:".) ! +! Some of the screenhacks are written using OpenGL. OpenGL programs are +! a bit different than normal X programs, in that they prefer visuals that +! are *half* as deep as the screen. You can tell xscreensaver to select a +! good visual for a GL program by using the magic visual name "GL". +! ! All programs must be launched in such a way that they draw on the root ! window; they should not be spawned in the background with "&". If shell ! metacharacters are used, they must be understandable to `sh', not `csh' ! (the $SHELL variable is not consulted, for unfortunate but good reasons.) ! -! Be sure to check out Demo Mode: run the command `xscreensaver-command -demo' -! and it will cause the running XScreenSaver program to pop up a dialog box -! that lets you try out the following programs interactively. See the man -! pages for details. -! -*programs: qix -root -solid -delay 0 -segments 100 \n\ - attraction -root -mode balls \n\ - attraction -root -mode lines -points 3 -segments 200 \n\ - attraction -root -mode splines -segments 300 \n\ - attraction -root -mode lines -radius 300 \ - -orbit -vmult 0.5 \n\ - pyro -root \n\ - helix -root \n\ - pedal -root \n\ - rorschach -root -offset 7 \n\ - hopalong -root \n\ - greynetic -root \n\ - xroger -root \n\ - imsmap -root \n\ - slidescreen -root \n\ - decayscreen -root \n\ - puzzle -root \n\ - blitspin -root -grab \n\ - slip -root \n\ - hypercube -root \n\ - halo -root \n\ - maze -root \n\ - noseguy -root \n\ - flame -root \n\ - lmorph -root \n\ - deco -root \n\ - moire -root \n\ - moire2 -root \n\ - lightning -root \n\ - strange -root \n\ - spiral -root \n\ - laser -root \n\ - grav -root \n\ - grav -root -trail -decay \n\ - drift -root \n\ - ifs -root \n\ - julia -root \n\ - penrose -root \n\ - sierpinski -root \n\ - braid -root \n\ - galaxy -root \n\ - bouboule -root \n\ - swirl -root \n\ - flag -root \n\ - sphere -root \n\ - forest -root \n\ - lisa -root \n\ - lissie -root \n\ - goop -root \n\ - starfish -root \n\ - starfish -root -blob \n\ - munch -root \n\ - fadeplot -root \n\ - coral -root \n\ - mountain -root \n\ - triangle -root \n\ - worm -root \n\ - rotor -root \n\ - ant -root \n\ - vines -root \n\ - kaleidescope -root \n\ - xjack -root \n\ - xlyap -root -random \n\ - cynosure -root \n\ - \ - mono: rocks -root \n\ - color: rocks -root -fg darksalmon \n\ - \ - mono: qix -root -linear -count 5 -size 200 -spread 30 \ - -segments 75 -solid -xor \n\ - \ - color: attraction -root -mode polygons \n\ - color: attraction -root -mode filled-splines -segments 0 \n\ - color: attraction -root -glow -points 10 \n\ - color: bubbles -root \n\ - \ - color: rd-bomb -root \n\ - color: rd-bomb -root -speed 1 -size 0.1 \n\ - \ - PseudoColor: qix -root -count 4 -solid -transparent \n\ - PseudoColor: qix -root -count 5 -solid -transparent -linear \ - -segments 250 -size 100 \n\ -@GL_KLUDGE_1@ -@GL_KLUDGE_2@ gears -root \n\ -@GL_KLUDGE_2@ superquadrics -root \n\ -@GL_KLUDGE_2@ morph3d -root \n\ -@GL_KLUDGE_2@ cage -root \n\ -@GL_KLUDGE_2@ moebius -root \n\ -@GL_KLUDGE_2@ stairs -root \n\ -@GL_KLUDGE_2@ pipes -root \n\ -@GL_KLUDGE_2@ sproingies -root \n\ -@GL_KLUDGE_2@ rubik -root \n - - -! A few of the hacks require OpenGL, and will only be built if you have it. -! If your vendor doesn't provide real OpenGL, you might want to consider -! building MesaGL, which is a free implementation -- GL is way cool. -! -! Note that those hacks (gears, superquadratics, morph3d, cage, moebius, -! stairs, pipes, sproingies, and rubik) tend to work best on a visual *half* -! as deep as the depth of the screen, since that way, they can do -! double-buffering -- try it and see, but you will probably find that you -! should specify the deepest visual that is half as deep as the screen. +! Be sure to check out Demo Mode: run the `xscreensaver-demo' program to +! edit the current list of programs interactively, try out the various modes, +! and change other parameters. See the man page for details. ! -! For example, on a screen that supports both 24-bit TrueColor and 12-bit -! PseudoColor, the 12-bit visual will probably work best (this is true of -! base-model SGI Indys: the 0x29 visual is the one you want.) Oddly, on SGI -! O2s, (machines that have serious hardware support for GL) the 12-bit -! PseudoColor visual looks awful (you get a black and white, flickery image.) -! On these machines, the visual you want turns out to be 0x31 -- this is but -! one of the eight 15-bit TrueColor visuals (yes, 8, and yes, 15) that O2s -! provide. This is the only visual that works properly -- as far as xdpyinfo -! is concerned, all of the 15-bit TrueColor visuals are identical, but some -! flicker like mad, and some have deeply weird artifacts (hidden surfaces -! show through!) I suppose these other visuals must be tied to some arcane -! hardware feature... Your mileage, therefore, may vary dramatically. -! -! Some other programs that you might want to track down (these work as -! XScreenSaver helpers, but are not distributed with it): -! -! xdaliclock -root -builtin2 \n\ -! xswarm -r 2>&- \n\ -! xwave -root \n\ -! xbouncebits ... \n\ -! ico -r -faces -sleep 1 -obj ico \n\ -! xsplinefun \n\ -! xmountains -b -M \n\ -! color: xfishtank -c black -d -r 2 \n\ -! -! xtacy is ok, but it only works on the default visual. We can satisfy -! that constraint like so: -! -! default: xtacy -root -delay 100 -funky -number 3 \n\ -! default: xtacy -root -delay 100 -gravity \n\ -! default: xtacy -root -delay 100 -mixer \n\ -! default: xtacy -root -delay 100 -taffy -pal 4 \n\ -! +*programs: \ + "Qix (solid)" qix -root -solid -delay 0 -segments 100 \n\ + "Qix (transparent)" qix -root -count 4 -solid -transparent \n\ + "Qix (linear)" qix -root -count 5 -solid -transparent \ + -linear -segments 250 -size 100 \n\ +- mono: "Qix (xor)" qix -root -linear -count 5 -size 200 \ + -spread 30 -segments 75 -solid -xor \n\ + \ + "Attraction (balls)" attraction -root -mode balls \n\ + "Attraction (lines)" attraction -root -mode lines -points 3 \ + -segments 200 \n\ +- "Attraction (poly)" attraction -root -mode polygons \n\ + "Attraction (splines)" attraction -root -mode splines -segments \ + 300 \n\ + "Attraction (orbital)" attraction -root -mode lines -radius 300 \ + -orbit -vmult 0.5 \n\ + \ + pyro -root \n\ + rocks -root \n\ + helix -root \n\ + pedal -root \n\ + rorschach -root -offset 7 \n\ + hopalong -root \n\ + greynetic -root \n\ + imsmap -root \n\ + slidescreen -root \n\ + decayscreen -root \n\ + jigsaw -root \n\ + blitspin -root -grab \n\ + slip -root \n\ + distort -root \n\ + spotlight -root \n\ + "Ripples (oily)" ripples -root -oily -light 2 \n\ + "Ripples (stir)" ripples -root -oily -light 2 -stir \n\ + "Ripples (desktop)" ripples -root -water -light 6 \n\ + hypercube -root \n\ + hyperball -root \n\ + halo -root \n\ + maze -root \n\ + noseguy -root \n\ + flame -root \n\ + lmorph -root \n\ + deco -root \n\ + moire -root \n\ + moire2 -root \n\ + lightning -root \n\ + strange -root \n\ + spiral -root \n\ + laser -root \n\ + grav -root \n\ + "Grav (trails)" grav -root -trail -decay \n\ + drift -root \n\ + ifs -root \n\ + julia -root \n\ + penrose -root \n\ + sierpinski -root \n\ + braid -root \n\ + galaxy -root \n\ + bouboule -root \n\ + swirl -root \n\ + flag -root \n\ + sphere -root \n\ + forest -root \n\ + lisa -root \n\ + lissie -root \n\ + goop -root -max-velocity 0.5 -elasticity \ + 0.9 \n\ + starfish -root \n\ + "Starfish (blob)" starfish -root -blob \n\ + munch -root \n\ + fadeplot -root \n\ + coral -root -delay 0 \n\ + mountain -root \n\ + triangle -root -delay 1 \n\ + worm -root \n\ + rotor -root \n\ + ant -root \n\ + demon -root \n\ + loop -root \n\ + vines -root \n\ + kaleidescope -root \n\ + xjack -root \n\ + xlyap -root -randomize \n\ + cynosure -root \n\ + flow -root \n\ + epicycle -root \n\ + interference -root \n\ + truchet -root -randomize \n\ + bsod -root \n\ + crystal -root \n\ + discrete -root \n\ + kumppa -root \n\ + rd-bomb -root \n\ + "RD-Bomb (mobile)" rd-bomb -root -speed 1 -size 0.1 \n\ + sonar -root \n\ + t3d -root \n\ + penetrate -root \n\ + deluxe -root \n\ + compass -root \n\ + squiral -root \n\ + xflame -root \n\ + wander -root \n\ + "Wander (spots)" wander -root -advance 0 -size 10 -circles \ + True -length 10000 -reset 100000 \n\ + critical -root \n\ + phosphor -root \n\ + xmatrix -root \n\ + petri -root -size 2 -count 20 \n\ + "Petri 2" petri -root -minlifespeed 0.02 \ + -maxlifespeed 0.03 -minlifespan 1 \ + -maxlifespan 1 -instantdeathchan 0 \ + -minorchan 0 -anychan 0.3 \n\ + shadebobs -root \n\ + ccurve -root \n\ + blaster -root \n\ + bumps -root \n\ + xteevee -root \n\ + xspirograph -root \n\ + nerverot -root \n\ +- "NerveRot (dense)" nerverot -root -count 1000 \n\ +- "NerveRot (thick)" nerverot -root -count 100 -line-width 4 \ + -max-nerve-radius 0.8 -nervousness 0.5 -db \n\ + xrayswarm -root \n\ +- "Zoom (Fatbits)" zoom -root \n\ + "Zoom (Lenses)" zoom -root -lenses \n\ + rotzoomer -root \n\ +- "RotZoomer (mobile)" rotzoomer -root -move \n\ +- "RotZoomer (sweep)" rotzoomer -root -sweep \n\ + whirlwindwarp -root \n\ + "WhirlyGig" whirlygig -root \n\ + "SpeedMine" speedmine -root \n\ + "SpeedWorm" speedmine -root -worm \n\ + vermiculate -root \n\ + color: bubbles -root \n\ + default-n: webcollage -root \n\ + default-n: "WebCollage (whacked)" \ + webcollage -root -filter \ + 'vidwhacker -stdin -stdout' \n\ +- default-n: vidwhacker -root \n\ + \ +@GL_KLUDGE@ GL: gears -root \n\ +@GL_KLUDGE@ GL: "Gears (planetary)" gears -root -planetary \n\ +@GL_KLUDGE@ GL: superquadrics -root \n\ +@GL_KLUDGE@ GL: morph3d -root \n\ +@GL_KLUDGE@ GL: cage -root \n\ +@GL_KLUDGE@ GL: moebius -root \n\ +@GL_KLUDGE@ GL: stairs -root \n\ +@GL_KLUDGE@ GL: pipes -root \n\ +@GL_KLUDGE@ GL: sproingies -root \n\ +@GL_KLUDGE@ GL: rubik -root \n\ +@GL_KLUDGE@ GL: atlantis -root \n\ +@GL_KLUDGE@ GL: lament -root \n\ +@GL_KLUDGE@ GL: bubble3d -root \n\ +@GL_KLUDGE@ GL: glplanet -root \n\ +@GL_KLUDGE@ GL: pulsar -root \n\ +- GL: "Pulsar (textures)" \ + pulsar -root -texture -mipmap \ + -texture_quality -light -fog \n\ +@GLE_KLUDGE@GL: extrusion -root \n\ +@GL_KLUDGE@ GL: sierpinski3d -root \n\ +@GL_KLUDGE@ GL: gflux -root \n\ +@GL_KLUDGE@ GL: stonerview -root \n\ +@GL_KLUDGE@ GL: starwars -root \n\ +@GL_KLUDGE@ GL: gltext -root \n\ +@GL_KLUDGE@ GL: "GLText (clock)" gltext -text "%A%n%d %b %Y%n%r" -root \n\ +@GL_KLUDGE@ GL: "Molecule" molecule -root \n\ +@GL_KLUDGE@ GL: "Molecule (lumpy)" molecule -root -no-bonds -no-labels \n\ +@GL_KLUDGE@ GL: dangerball -root \n\ +@GL_KLUDGE@ GL: circuit -root \n\ + \ +- xdaliclock -root -builtin3 -cycle \n\ +- default-n: xearth -nofork -nostars -ncolors 50 \ + -night 3 -wait 0 -timewarp 400.0 -pos \ + sunrel/38/-30 \n\ +- xplanetbg -xscreensaver -moonside \ + -markerfile earth -wait 1 -timewarp 400 \n\ +- ssystem -fullscreen :32 \n\ +- xmountains -b -M -Z 0 -r 1 \n\ +- "XMountains (top)" xmountains -b -M -Z 0 -r 1 -m \n\ +- xaos -fullscreen -autopilot \ + -incoloring -1 -outcoloring -1 \n\ +- xfishtank -d -s \n\ +- xsnow \n\ +- goban -root \n\ +- electricsheep \n\ +- cosmos -root \n\ +- GL: sphereEversion --root \n + + ! To display a randomized slideshow of images, you can do something like this: ! -! default-n: xv -root -rmode 5 image-1.gif -quit -! default-n: xv -root -rmode 5 image-2.gif -quit -! default-n: xv -root -rmode 5 image-3.gif -quit -! ...and so on... +! default-n: "Slideshow" xv -root -rmode 5 -random -viewonly \ +! -wloop -wait 30 $HOME/bitmaps/*.jpg \n\ +! +! Recipes for using other slideshow programs can be found in the +! XScreenSaver FAQ: http://www.jwz.org/xscreensaver/faq.html ! ! Note that we've used "default-n" as the visual name, rather than just ! "default": this means "default visual, no install", that is, it's like ! specifying the command-line arguments "-visual default -no-install". -! This is necessary because, when XV is running in "-root" mode, it always -! assumes that the default visual and colormap are being used, rather than -! examining the window it is drawing on to see what visual and colormap it -! has. If we didn't force the default visual to be used, xv would get an +! This is necessary because, when XV or XLI arerunning in "-root" mode, they +! always assume that the default visual and colormap are being used, rather +! than examining the window it is drawing on to see what visual and colormap +! it has. If we didn't force the default visual to be used, we would get an ! X error. If we didn't force the default colormap to be installed, the ! colors would be all wrong. "default-i" may also be used as a visual name ! (meaning, "-visual default -install") but you probably won't ever need ! to use that. ! -! XEarth is nice, too: -! -! default-n: xearth -nostars -wait 0 -timewarp 400 -pos sunrel/38/-30 -! ! ! Some of the GL demos that SGI ships work with XScreenSaver; most don't. ! XScreenSaver includes a program (not built or installed by default) @@ -232,27 +357,17 @@ ! ! xscreensaver-sgigl /usr/demos/bin/ep -S ! xscreensaver-sgigl /usr/demos/bin/bongo -! xscreensaver-sgigl /usr/demos/bin/atlantis ! ! On Irix 6.3, things have moved, so you need to do it like this: ! ! xscreensaver-sgigl /usr/sbin/ep -S ! +! (But note that, on non-SGIs, the bundled "stonerview" hack is a decent +! clone of "ep". Yay!) +! ! You can also use the "ant" demo, but first you need to wrap a shell script ! around it that cds to its home directory, so that it can find its files; -! and also pass it the -S argument, to prevent it from forking. The "atlantis" -! hack *almost* works; but since it doesn't have an option to prevent it from -! forking, xscreensaver is unable to kill it, so when you come in the next -! morning, you'll find dozens of "atlantis" processes still running. -! -! -! Also, since these actually end up mapping their own windows instead of -! drawing on the XScreenSaver-provided root, when they are being run from -! demo-mode, you can't pop up the demo-mode dialog just by clicking the -! mouse: you must first type ESC to make the SGI programs exit. This sucks. -! Things should work properly when they are being run by xscreensaver in -! non-demo-mode, however. -! +! and also pass it the -S argument, to prevent it from forking. What a mess! ! Basically, the SGI demo writers went out of their way to make my life hell. @@ -264,44 +379,153 @@ !============================================================================= -! Resources for the Motif dialog boxes: +XScreenSaver.pointerPollTime: 0:00:05 +XScreenSaver.initialDelay: 0:00:00 +XScreenSaver.windowCreationTimeout: 0:00:30 +XScreenSaver.bourneShell: /bin/sh + + +! Resources for the password and splash-screen dialog boxes of +! the "xscreensaver" daemon. +! +*Dialog.headingFont: *-times-bold-r-*-*-*-180-*-*-*-iso8859-1 +*Dialog.bodyFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1 +*Dialog.labelFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1 +*Dialog.buttonFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1 +*Dialog.dateFont: *-courier-medium-r-*-*-*-80-*-*-*-iso8859-1 +*Dialog.foreground: #000000 +*Dialog.background: #BFBFBF +*Dialog.Button.foreground: #000000 +*Dialog.Button.background: #D0D0D0 +*Dialog.text.foreground: #000000 +*Dialog.text.background: #FFFFFF +*passwd.thermometer.foreground: #FF0000 +*passwd.thermometer.background: #FFFFFF +*Dialog.topShadowColor: #E7E7E7 +*Dialog.bottomShadowColor: #737373 +*Dialog.logo.width: 210 +*Dialog.logo.height: 210 +*Dialog.internalBorderWidth: 30 +*Dialog.borderWidth: 1 +*Dialog.shadowThickness: 4 + +*passwd.heading.label: XScreenSaver %s +*passwd.body.label: This display is locked. +*passwd.user.label: User: +*passwd.passwd.label: Password: +*passwd.passwdFont: *-courier-medium-r-*-*-*-140-*-*-*-iso8859-1 +*passwd.thermometer.width: 8 + +*splash.heading.label: XScreenSaver %s +*splash.body.label: Copyright © 1991-2001 by +*splash.body2.label: Jamie Zawinski +*splash.demo.label: Demo +*splash.prefs.label: Prefs +*splash.help.label: Help + + +! Resources for the Motif dialog boxes of the "xscreensaver-demo" program. ! *fontList: *-helvetica-medium-r-*-*-*-120-*-*-*-iso8859-1 *demoDialog*label1.fontList: *-helvetica-medium-r-*-*-*-140-*-*-*-iso8859-1 -*passwdDialog*fontList: *-helvetica-medium-r-*-*-*-140-*-*-*-iso8859-1 -*XmList.fontList: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1 -*XmTextField.fontList: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1 -*passwdDialog.passwdText.fontList: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1 - -*XmDialogShell*foreground: black -*XmDialogShell*background: gray90 -*XmDialogShell*XmTextField.foreground: black -*XmDialogShell*XmTextField.background: white -*XmDialogShell*demoList.foreground: black -*XmDialogShell*demoList.background: white -*XmDialogShell*rogerLabel.foreground: red3 -*XmDialogShell*rogerLabel.background: white - -*XmDialogShell.title: XScreenSaver +*cmdText.fontList: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1 +*label0.fontList: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1 +XScreenSaver*doc.fontList: *-helvetica-medium-r-*-*-*-100-*-*-*-iso8859-1 +! above must be fully qualified to get around *sgiMode. + +*foreground: #000000 +*background: #C0C0C0 +*XmTextField.foreground: #000000 +*XmTextField.background: #FFFFFF +*list.foreground: #000000 +*list.background: #FFFFFF + +*ApplicationShell.title: XScreenSaver +*warning.title: XScreenSaver +*warning_popup.title: XScreenSaver *allowShellResize: True *autoUnmanage: False -! This doesn't work. Motif ignores it if there is a scroll-list! -*demoDialog.maxWidth: 600 +*menubar*file.labelString: File +*menubar*file.mnemonic: F +*file.blank.labelString: Blank Screen Now +*file.blank.mnemonic: B +*file.lock.labelString: Lock Screen Now +*file.lock.mnemonic: L +*file.kill.labelString: Kill Daemon +*file.kill.mnemonic: K +*file.restart.labelString: Restart Daemon +*file.restart.mnemonic: R +*file.exit.labelString: Exit +*file.exit.mnemonic: E + +*menubar*edit.labelString: Edit +*menubar*edit.mnemonic: E +*edit.cut.labelString: Cut +*edit.cut.mnemonic: u +*edit.copy.labelString: Copy +*edit.copy.mnemonic: C +*edit.paste.labelString: Paste +*edit.paste.mnemonic: P + +*menubar*help.labelString: Help +*menubar*help.mnemonic: H +*help.about.labelString: About... +*help.about.mnemonic: A +*help.docMenu.labelString: Documentation... +*help.docMenu.mnemonic: D -*label1.labelString: XScreenSaver %s -*label1.label: XScreenSaver %s -*label2.labelString: Copyright © 1991-1998 by Jamie Zawinski -*label2.label: Copyright © 1991-1998 by Jamie Zawinski -*demoList.visibleItemCount: 10 -*demoList.automaticSelection: True -*next.labelString: Run Next -*prev.labelString: Run Previous -*edit.labelString: Edit Parameters -*done.labelString: Exit Demo Mode -*restart.labelString: Reinitialize +*demoTab.marginWidth: 10 +*optionsTab.marginWidth: 10 -*resourcesLabel.labelString: XScreenSaver Parameters +*XmScrolledWindow.topOffset: 10 +*XmScrolledWindow.leftOffset: 10 +*demoTab.topOffset: 4 +*form1.bottomOffset: 10 +*form3.leftOffset: 10 +*form3.rightOffset: 10 +*frame.topOffset: 10 +*frame.bottomOffset: 10 +*enabled.topOffset: 10 +*visLabel.topOffset: 10 +*combo.topOffset: 10 +*form4.bottomOffset: 4 +*hr.bottomOffset: 4 +*XmComboBox.marginWidth: 0 +*XmComboBox.marginHeight: 0 + +*demo.marginWidth: 30 +*demo.marginHeight: 4 +*man.marginWidth: 10 +*man.marginHeight: 4 +*down.leftOffset: 40 +*down.marginWidth: 4 +*down.marginHeight: 4 +*up.marginWidth: 4 +*up.marginHeight: 4 +*frame.traversalOn: False + +*list.automaticSelection: True +*list.visibleItemCount: 20 +*doc.columns: 60 +*combo.columns: 11 + +*demoTab.labelString: Graphics Demos +*optionsTab.labelString: Screensaver Options +*down.labelString: \\/ +*up.labelString: /\\ +*frameLabel.labelString: +*cmdLabel.labelString: Command Line: +*cmdLabel.alignment: ALIGNMENT_BEGINNING +*enabled.labelString: Enabled +*visLabel.labelString: Visual: +*visLabel.alignment: ALIGNMENT_END +*visLabel.leftOffset: 20 +*demo.labelString: Demo +*man.labelString: Documentation... +*done.labelString: Quit + +*preferencesLabel.labelString: XScreenSaver Parameters *timeoutLabel.labelString: Saver Timeout *cycleLabel.labelString: Cycle Timeout @@ -309,118 +533,862 @@ *fadeTicksLabel.labelString: Fade Ticks *lockLabel.labelString: Lock Timeout *passwdLabel.labelString: Password Timeout -*resourcesForm*XmTextField.columns: 8 +*preferencesForm*XmTextField.columns: 8 *verboseToggle.labelString: Verbose *cmapToggle.labelString: Install Colormap *fadeToggle.labelString: Fade Colormap *unfadeToggle.labelString: Unfade Colormap *lockToggle.labelString: Require Password -*resourcesDone.labelString: Done -*resourcesCancel.labelString: Cancel - -*passwdDialog.title: Password -*passwdLabel1.labelString: XScreenSaver %s -*passwdLabel2.labelString: This display is locked. -*passwdLabel3.labelString: Please type %s's password to unlock it. -*passwdDone.labelString: Done -*passwdCancel.labelString: Cancel - -*passwdLabel1.alignment: ALIGNMENT_BEGINNING -*passwdLabel2.alignment: ALIGNMENT_BEGINNING -*passwdLabel3.alignment: ALIGNMENT_BEGINNING -*rogerLabel.width: 150 - -! Disable Motif drag-and-drop in dialog boxes. This is kind of pathetic, but -! in some older versions of Motif, most any attempt to drag cause immediate -! flaming death from above. This *should* rip the legs off that bug. + + +*OK.marginWidth: 30 +*OK.marginHeight: 4 +*OK.leftOffset: 10 +*OK.bottomOffset: 10 +*Cancel.marginWidth: 30 +*Cancel.marginHeight: 4 +*Cancel.rightOffset: 10 +*Cancel.bottomOffset: 10 + + + + +!============================================================================= +! +! Online documentation for xscreensaver-demo. ! -XScreenSaver*dragInitiatorProtocolStyle: DRAG_NONE -XScreenSaver*dragReceiverProtocolStyle: DRAG_NONE +!============================================================================= +! sanity check -- hands off. +*hacks.documentation.isInstalled: True +*hacks.qix.documentation: \ +This is the swiss army chainsaw of qix programs. It bounces a series \ +of line segments around the screen, and uses variations on this basic \ +motion pattern to produce all sorts of different presentations: line \ +segments, filled polygons, overlapping translucent areas... Written \ +by Jamie Zawinski. -! Resources for the dialog boxes using the abominable Athena widgets: -! -*demo_dialog*font: *-helvetica-bold-r-*-*-*-120-*-*-*-iso8859-1 -*resources_dialog*font: *-helvetica-bold-r-*-*-*-120-*-*-*-iso8859-1 -*passwd_dialog*font: *-helvetica-bold-r-*-*-*-120-*-*-*-iso8859-1 -*demo_dialog*label1.font: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1 -*resources_dialog*label1.font: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1 -*demo_dialog*List.font: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1 - -! This is a hack to make the typed password invisible. -! Surely someone can do better than this... -*passwd_dialog*passwd_form.value*font: *nil* - -*demo_dialog*foreground: black -*demo_dialog*background: gray90 -*demo_dialog*List.background: white -*demo_dialog*Scrollbar.background: gray85 -*demo_dialog*Command.background: gray85 - -*resources_dialog*foreground: black -*resources_dialog*background: gray90 -*resources_dialog*Command.background: gray85 -*resources_dialog*Toggle.background: gray85 -*resources_dialog*Text*background: white - -*resources_dialog*Dialog.value.translations: #override\n\ - Return: beginning-of-line()\n - -*passwd_dialog*foreground: black -*passwd_dialog*background: gray90 -*passwd_dialog*Text*background: white - -*demo_dialog*viewport.width: 400 -*demo_dialog*viewport.height: 200 -*Form.borderWidth: 0 -*Box.borderWidth: 0 -*Label.borderWidth: 0 -*resources_dialog*Dialog.borderWidth: 0 - -*demo_dialog*next.label: Run Next -*demo_dialog*prev.label: Run Previous -*demo_dialog*edit.label: Edit Parameters -*demo_dialog*done.label: Exit Demo Mode -*demo_dialog*restart.label: Reinitialize - -*resources_dialog*timeout.label: Saver Timeout: -*resources_dialog*cycle.label: Cycle Timeout: -*resources_dialog*fade.label: Fade Duration: -*resources_dialog*ticks.label: Fade Ticks: -*resources_dialog*lockTime.label: Lock Timeout: -*resources_dialog*passwdTime.label: Password Timeout: - -*resources_dialog*label1.label: XScreenSaver Parameters -*resources_dialog*buttonbox.verbose.label: Verbose -*resources_dialog*buttonbox.cmap.label: Install Colormap -*resources_dialog*buttonbox.fade.label: Fade Colormap -*resources_dialog*buttonbox.unfade.label: Unfade Colormap -*resources_dialog*buttonbox.lock.label: Require Password -*resources_dialog*done.label: Done -*resources_dialog*cancel.label: Cancel - -*passwd_dialog*label1.label: XScreenSaver %s -*passwd_dialog*label2.label: This display is locked. -*passwd_dialog*label3.label: Please type %s's password to unlock it. -*passwd_dialog*ok.label: Done -*passwd_dialog*cancel.label: Cancel -*passwd_dialog*passwd_form*label.label: Enter password: -*passwd_dialog*Dialog.label: Enter password: -*passwd_dialog*passwd_form*Text.width: 200 -*passwd_dialog*roger.width: 150 -*passwd_dialog*roger.height: 150 -*passwd_dialog*roger.foreground: red3 -*passwd_dialog*roger.background: white -*passwd_dialog*roger.borderWidth: 1 - - -! You probably won't need to change these. They are only used if no server -! extension is in use. +*hacks.attraction.documentation: \ +Like qix, this uses a simple simple motion model to generate many \ +different display modes. The control points attract each other up to \ +a certain distance, and then begin to repel each other. The \ +attraction/repulsion is proportional to the distance between any two \ +particles, similar to the strong and weak nuclear forces. \ + \n\n\ +One of the most interesting ways to watch this hack is simply as \ +bouncing balls, because their motions and interactions with each \ +other are so odd. Sometimes two balls will get into a tight orbit \ +around each other, to be interrupted later by a third, or by the edge \ +of the screen. It looks quite chaotic. \ + \n\n\ +Written by Jamie Zawinski, based on Lisp code by John Pezaris. + +*hacks.pyro.documentation: \ +Pyro draws exploding fireworks. Blah blah blah. Written by Jamie \ +Zawinski. + +*hacks.helix.documentation: \ +This repeatedly generates spirally string-art-ish patterns. Written \ +by Jamie Zawinski. + +*hacks.pedal.documentation: \ +This is sort of a combination spirograph/string-art. It generates a \ +large, complex polygon, and lets the X server do the bulk of the work \ +by giving it an even/odd winding rule. Written by Dale Moore, based \ +on some ancient PDP-11 code. + +*hacks.rorschach.documentation: \ +This generates random inkblot patterns. The algorithm is deceptively \ +simple for how well it works; it merely walks a dot around the screen \ +randomly, and then reflects the image horizontally, vertically, or \ +both. Any deep-seated neurotic tendencies which this program reveals \ +are your own problem. Written by Jamie Zawinski. + +*hacks.hopalong.documentation: \ +This draws lacy fractal patterns, based on iteration in the imaginary \ +plane, from a 1986 Scientific American article. Mostly written by \ +Patrick Naughton. + +*hacks.greynetic.documentation: \ +This draws random colored and stippled rectangles. Written by Jamie \ +Zawinski. + +*hacks.imsmap.name: IMSmap +*hacks.imsmap.documentation: \ +This generates random cloud-like patterns. It looks quite different \ +in monochrome and color. The basic idea is to take four points on \ +the edge of the image, and assign each a random ``elevation''. Then \ +find the point between them, and give it a value which is the average \ +of the other four, plus some small random offset. Then coloration is \ +done based on elevation. \ + \n\n\ +The color selection is done by binding the elevation to either hue, \ +saturation, or brightness, and assigning random values to the others. \ +The ``brightness'' mode tends to yield cloudlike patterns, and the \ +others tend to generate images that look like heat-maps or CAT-scans. \ +Written by Juergen Nickelsen and Jamie Zawinski. + +*hacks.slidescreen.name: SlideScreen +*hacks.slidescreen.documentation: \ +This takes an image, divides it into a grid, and then randomly shuffles \ +the squares around as if it was one of those annoying ``16-puzzle'' \ +games, where there is a grid of squares, one of which is missing. \ +I hate trying to solve those puzzles, but watching one permute itself \ +is more amusing. Written by Jamie Zawinski. + +*hacks.decayscreen.name: DecayScreen +*hacks.decayscreen.documentation: \ +This takes an image and makes it melt. You've no doubt seen this \ +effect before, but no screensaver would really be complete without it. \ +It works best if there's something colorful visible. Warning, if the \ +effect continues after the screen saver is off, seek medical attention. \ +Written by David Wald and Vivek Khera. + +*hacks.jigsaw.documentation: \ +This grabs a screen image, carves it up into a jigsaw puzzle, \ +shuffles it, and then solves the puzzle. This works especially well \ +when you feed it an external video signal instead of letting it grab \ +the screen image (actually, I guess this is generally true...) When \ +it is grabbing a video image, it is sometimes pretty hard to guess \ +what the image is going to look like once the puzzle is solved. \ +Written by Jamie Zawinski. + +*hacks.blitspin.name: BlitSpin +*hacks.blitspin.documentation: \ +The ``blitspin'' hack repeatedly rotates a bitmap by 90 degrees by \ +using logical operations: the bitmap is divided into quadrants, and \ +the quadrants are shifted clockwise. Then the same thing is done \ +again with progressively smaller quadrants, except that all \ +sub-quadrants of a given size are rotated in parallel. Written by \ +Jamie Zawinski based on some cool SmallTalk code seen in in Byte \ +Magazine in 1981. \ + \n\n\ +As you watch it, the image appears to dissolve into static and then \ +reconstitute itself, but rotated. You can provide the image to use, \ +as an XBM or XPM file, or tell it to grab a screen image and rotate \ +that. + +*hacks.slip.documentation: \ +This program throws some random bits on the screen, then sucks them \ +through a jet engine and spews them out the other side. To avoid \ +turning the image completely to mush, every now and then it will and \ +then it interjects some splashes of color into the scene, or go into \ +a spin cycle, or stretch the image like taffy, or (this is my \ +addition) grab an image of your current desktop to chew on. \ +Originally written by Scott Draves; whacked on by Jamie Zawinski. + +*hacks.distort.documentation: \ +This hack grabs an image of the screen, and then lets a transparent \ +lens wander around the screen, magnifying whatever is underneath. \ +Written by Jonas Munsin. + +*hacks.spotlight.documentation: \ +Draws a spotlight scanning across a black screen, illumnating the \ +underlying desktop when it passes. Written by Rick Schultz. + +*hacks.hypercube.documentation: \ +This displays 2D projections of the sequence of 3D objects which are \ +the projections of the 4D analog to the cube: as a square is composed \ +of four lines, each touching two others; and a cube is composed of \ +six squares, each touching four others; a hypercube is composed of \ +eight cubes, each touching six others. To make it easier to \ +visualize the rotation, it uses a different color for the edges of \ +each face. Don't think about it too long, or your brain will melt. \ +Written by Joe Keane, Fritz Mueller, and Jamie Zawinski. + +*hacks.hyperball.documentation: \ +Hyperball is to hypercube as dodecahedron is to cube: this displays \ +a 2D projection of the sequence of 3D objects which are the projections \ +of the 4D analog to the dodecahedron. Written by Joe Keane. + +*hacks.halo.documentation: \ +This draws trippy psychedelic circular patterns that hurt to look at. \ +It can also animate the control-points, but that takes a lot of CPU \ +and bandwidth. Written by Jamie Zawinski. + +*hacks.maze.documentation: \ +This is the ancient X maze demo, modified to work with xscreensaver. \ +It generates a random maze, then solves it with visual feedback. \ +Originally by Jim Randell; modified by a cast of thousands. + +*hacks.noseguy.documentation: \ +A little man with a big nose wanders around your screen saying \ +things. The things which he says can come from a file, or from an \ +external program like `zippy' or `fortune'. This was extracted from \ +`xnlock' by Dan Heller. Colorized by Jamie Zawinski. + +*hacks.flame.documentation: \ +Another iterative fractal generator. Written by Scott Draves. + +*hacks.lmorph.name: LMorph +*hacks.lmorph.documentation: \ +This generates random spline-ish line drawings and morphs between \ +them. Written by Sverre H. Huseby and Glenn T. Lines. + +*hacks.deco.documentation: \ +This one subdivides and colors rectangles randomly. It looks kind of \ +like Brady-Bunch-era rec-room wall paneling. (Raven says: ``this \ +screensaver is ugly enough to peel paint.'') Written by Jamie \ +Zawinski, inspired by Java code by Michael Bayne. + +*hacks.moire.documentation: \ +This one draws cool circular interference patterns. Most of the \ +circles you see aren't explicitly rendered, but show up as a result \ +of interactions between the other pixels that were drawn. Written by \ +Jamie Zawinski, inspired by Java code by Michael Bayne. As he \ +pointed out, the beauty of this one is that the heart of the display \ +algorithm can be expressed with just a pair of loops and a handful of \ +arithmetic, giving it a high ``display hack metric''. + +*hacks.moire2.documentation: \ +Another example of the fun you can have with moire \ +interference patterns; this hack generates fields of concentric \ +circles or ovals, and combines the planes with various operations. \ +The planes are moving independently of one another, causing the \ +interference lines to ``spray.'' Written by Jamie Zawinski. + +*hacks.lightning.documentation: \ +This one draws crackling fractal lightning bolts. It's simple, \ +direct, and to the point. If only it had sound... Written by Keith \ +Romberg. + +*hacks.strange.documentation: \ +This draws strange attractors: it's a colorful, \ +unpredictably-animating field of dots that swoops and twists around. \ +The motion is very nice. Written by Massimino Pascal. + +*hacks.spiral.documentation: \ +Moving circular patterns, by Peter Schmitzberger. Moving circular \ +patterns means moire; interference patterns, of course. + +*hacks.laser.documentation: \ +Moving radiating lines, that look vaguely like scanning laser beams. \ +Written by Pascal Pensa. (Frankie say: relax.) + +*hacks.grav.documentation: \ +This program draws a simple orbital simulation. If you turn on \ +trails, it looks kind of like a cloud-chamber photograph. Written \ +by Greg Bowering. + +*hacks.drift.documentation: \ +How could one possibly describe this except as ``drifting recursive \ +fractal cosmic flames?'' Another fine hack from the Scott Draves \ +collection of fine hacks. + +*hacks.ifs.name: IFS +*hacks.ifs.documentation: \ +This one draws spinning, colliding iterated-function-system images. \ +Written by Massimino Pascal. + +*hacks.julia.documentation: \ +This one draws spinning, animating (are you detecting a pattern here \ +yet?) explorations of the Julia set. You've probably seen static \ +images of this fractal form before, but it's a lot of fun to watch in \ +motion as well. One interesting thing is that there is a small \ +swinging dot passing in front of the image, which indicates the \ +control point from which the rest of the image was generated. \ +Written by Sean McCullough. + +*hacks.penrose.documentation: \ +Draws quasiperiodic tilings; think of the implications on modern \ +formica technology. Written by Timo Korvola. \ + \n\n\ +In April 1997, Sir Roger Penrose, a British math professor who has \ +worked with Stephen Hawking on such topics as relativity, black \ +holes, and whether time has a beginning, filed a \ +copyright-infringement lawsuit against the Kimberly-Clark \ +Corporation, which Penrose said copied a pattern he created (a \ +pattern demonstrating that ``a nonrepeating pattern could exist in \ +nature'') for its Kleenex quilted toilet paper. Penrose said he \ +doesn't like litigation but, ``When it comes to the population of \ +Great Britain being invited by a multinational to wipe their bottoms \ +on what appears to be the work of a Knight of the Realm, then a last \ +stand must be taken.'' \ + \n\n\ +As reported by News of the Weird #491, 4-jul-1997. + +*hacks.sierpinski.documentation: \ +This draws the two-dimensional variant of the recursive Sierpinski \ +triangle fractal. Written by Desmond Daignault. + +*hacks.braid.documentation: \ +Draws random color-cycling inter-braided concentric circles. Written \ +by John Neil. + +*hacks.galaxy.documentation: \ +This draws spinning galaxies, which then collide and scatter their \ +stars to the, uh, four winds or something. Originally an Amiga \ +program by Uli Siegmund. + +*hacks.bouboule.documentation: \ +This draws what looks like a spinning, deforming baloon with \ +varying-sized spots painted on its invisible surface. Written by \ +Jeremie Petit. + +*hacks.swirl.documentation: \ +More flowing, swirly patterns. This version is by M. Dobie and R. \ +Taylor, but you might have seen a Mac program similar to this called \ +FlowFazer. There is also a cool Java applet of a similar concept + +*hacks.flag.documentation: \ +This draws a waving colored flag, that undulates its way around the \ +screen. The trick is the flag can contain arbitrary text and images. \ +By default, it displays either the current system name and OS \ +type, or a picture of ``Bob,'' but you can replace the text or the \ +image with a command-line option. Written by Charles Vidal and Jamie \ +Zawinski. + +*hacks.sphere.documentation: \ +Another of the classic screenhacks of the distant past, this one \ +draws shaded spheres in multiple colors. This hack traces its \ +lineage back to Tom Duff in 1982. + +*hacks.forest.documentation: \ +This draws fractal trees. Written by Peter Baumung. Everybody loves \ +fractals, right? + +*hacks.lisa.documentation: \ +This draws Lisajous loops, by Caleb Cullen. Remember that device \ +they had the Phantom Zone prisoners in during their trial in \ +Superman? I think that was one of these. + +*hacks.lissie.documentation: \ +Another Lissajous figure. This one draws the progress of circular \ +shapes along a path. Written by Alexander Jolk. + +*hacks.goop.documentation: \ +This draws set of animating, transparent, amoeba-like blobs. The \ +blobs change shape as they wander around the screen, and they are \ +translucent, so you can see the lower blobs through the higher ones, \ +and when one passes over another, their colors merge. Written by \ +Jamie Zawinski. I got the idea for this from a cool mouse pad I \ +have, which achieves the same kind of effect in real life by having \ +several layers plastic with colored oil between them. Written by \ +Jamie Zawinski. + +*hacks.starfish.documentation: \ +This generates a sequence of undulating, throbbing, star-like \ +patterns which pulsate, rotate, and turn inside out. Another display \ +mode uses these shapes to lay down a field of colors, which are then \ +cycled. The motion is very organic. Written by Jamie Zawinski. + +*hacks.munch.documentation: \n\ + DATAI 2 \n\ + ADDB 1,2 \n\ + ROTC 2,-22 \n\ + XOR 1,2 \n\ + JRST .-4 \n\ + \n\ +As reported by HAKMEM, in 1962, Jackson Wright wrote the above PDP-1 \ +code. That code still lives on in this screenhack, some 35 years \ +later. The number of lines of enclosing code has increased \ +substantially, however. This version is by Tim Showalter. + +*hacks.fadeplot.name: FadePlot +*hacks.fadeplot.documentation: \ +Draws what looks like a waving ribbon following a sinusoidal path. \ +Written by Bas van Gaalen and Charles Vidal. + +*hacks.coral.documentation: \ +Simulates coral growth, albeit somewhat slowly. This image doesn't \ +really do it justice. Written by Frederick Roeber. + +*hacks.mountain.documentation: \ +Generates random 3d plots that look vaguely mountainous. Written by \ +Pascal Pensa. + +*hacks.triangle.documentation: \ +Generates random mountain ranges using iterative subdivision of \ +triangles. Written by Tobias Gloth. + +*hacks.worm.documentation: \ +An ancient xlock hack that draws multicolored worms that crawl around \ +the screen. Written by Brad Taylor, Dave Lemke, Boris Putanec, and \ +Henrik Theiling. + +*hacks.rotor.documentation: \ +Another ancient xlock demo, this one by Tom Lawrence. It draws a \ +line segment moving along a complex spiraling curve. I tweaked this \ +to generate curvier lines, but still frames of it don't look like \ +much. + +*hacks.ant.documentation: \ +A cellular automaton that is really a two-dimensional Turing machine: \ +as the heads (``ants'') walk along the screen, they change pixel \ +values in their path. Then, as they pass over changed pixels, their \ +behavior is influenced. Written by David Bagley. + +*hacks.demon.documentation: \ +A cellular automaton that starts with a random field, and organizes \ +it into stripes and spirals. Written by David Bagley. + +*hacks.loop.documentation: \ +This one produces loop-shaped colonies that spawn, age, and \ +eventually die. Written by David Bagley. + +*hacks.vines.documentation: \ +This one generates a continuous sequence of small, curvy geometric \ +patterns. It scatters them around your screen until it fills up, \ +then it clears the screen and starts over. Written by Tracy Camp and \ +David Hansen. + +*hacks.kaleidescope.documentation: \ +Another clone of an ancient meme, consisting largely of frenetic \ +rotational motion of colored lines. This one is by Ron Tapia. The \ +motion is nice, but I think it needs more solids, or perhaps just \ +brighter colors. More variations in the rotational speed might help, \ +too. + +*hacks.xjack.documentation: \ +This program behaves schizophrenically and makes a lot of typos. \ +Written by Jamie Zawinski. If you haven't seen Stanley Kubrick's \ +masterpiece, ``The Shining,'' you won't get it. Those who have \ +describe this hack as ``inspired.'' + +*hacks.xlyap.documentation: \ +This generates pretty fractal pictures by doing funky math involving \ +the ``Lyapunov exponent.'' It has a cool interactive mode, too. \ +Written by Ron Record. + +*hacks.cynosure.documentation: \ +A hack similar to `greynetic', but less frenetic. The first \ +implementation was by Stephen Linhart; then Ozymandias G. Desiderata \ +wrote a Java applet clone. That clone was discovered by Jamie \ +Zawinski, and ported to C for inclusion here. + +*hacks.flow.documentation: \ +Another series of strange attractors: a flowing series of points, \ +making strange rotational shapes. Written by Jeff Butterworth. + +*hacks.epicycle.documentation: \ +This program draws the path traced out by a point on the edge of a \ +circle. That circle rotates around a point on the rim of another \ +circle, and so on, several times. These were the basis for the \ +pre-heliocentric model of planetary motion. Written by James \ +Youngman. + +*hacks.interference.documentation: \ +Another color-field hack, this one works by computing decaying \ +sinusoidal waves, and allowing them to interfere with each other as \ +their origins move. Written by Hannu Mallat. + +*hacks.truchet.documentation: \ +This draws line- and arc-based Truchet patterns that tile the screen. \ +Written by Adrian Likins. + +*hacks.bsod.name: BSOD +*hacks.bsod.documentation: \ +BSOD stands for ``Blue Screen of Death.'' The finest in personal \ +computer emulation, this hack simulates popular screen savers from a \ +number of less robust operating systems. Written by Jamie Zawinski. + +*hacks.crystal.documentation: \ +Moving polygons, similar to a kaleidescope (more like a kaleidescope \ +than the hack called `kaleid,' actually.) This one by Jouk Jansen. + +*hacks.discrete.documentation: \ +More ``discrete map'' systems, including new variants of Hopalong and \ +Julia, and a few others. Written by Tim Auckland. + +*hacks.kumppa.documentation: \ +Spiraling, spinning, and very, very fast splashes of color rush \ +toward the screen. Written by Teemu Suutari. + +*hacks.rd-bomb.name: RD-Bomb +*hacks.rd-bomb.documentation: \ +Another variation of the `Bomb' program by Scott Draves. This draws \ +a grid of growing square-like shapes that, once they overtake each \ +other, react in unpredictable ways. ``RD'' stands for \ +reaction-diffusion. + +*hacks.sonar.documentation: \ +This program draws a simulation of a sonar screen. Written by \ +default, it displays a random assortment of ``bogies'' on the screen, \ +but if compiled properly, it can ping (pun intended) your local \ +network, and actually plot the proximity of the other hosts on your \ +network to you. It would be easy to make it monitor other sources of \ +data, too. (Processes? Active network connections? CPU usage per \ +user?) Written by Stephen Martin. + +*hacks.t3d.name: T3D +*hacks.t3d.documentation: \ +This draws a working analog clock composed of floating, throbbing \ +bubbles. Written by Bernd Paysan. + +*hacks.penetrate.documentation: \ +This hack simulates the classic arcade game Missile Command. Written \ +by Adam Miller. + +*hacks.deluxe.documentation: \ +This draws a pulsing sequence of stars, circles, and lines. It would \ +look better if it was faster, but as far as I can tell, there is no \ +way to make this be both: fast, and flicker-free. Yet another reason \ +X sucks. Written by Jamie Zawinski. + +*hacks.compass.documentation: \ +This draws a compass, with all elements spinning about randomly, for \ +that ``lost and nauseous'' feeling. Written by Jamie Zawinski. + +*hacks.squiral.documentation: \ +Draws a set of interacting, square-spiral-producing automata. The \ +spirals grow outward until they hit something, then they go around \ +it. Written by Jeff Epler. + +*hacks.xflame.documentation: \ +Draws a simulation of pulsing fire. It can also take an arbitrary \ +image and set it on fire too. Written by Carsten Haitzler, hacked on \ +by many others. + +*hacks.wander.documentation: \ +Draws a colorful random-walk, in various forms. Written by Rick \ +Campbell. + +*hacks.critical.documentation: \ +Draws a system of self-organizing lines. It starts out as random \ +squiggles, but after a few iterations, order begins to appear. \ +Written by Martin Pool. + +*hacks.phosphor.documentation: \ +Draws a simulation of an old terminal, with large pixels and \ +long-sustain phosphor. It can run any program as a source of the text \ +it displays. Written by Jamie Zawinski. + +*hacks.xmatrix.documentation: \ +A rendition of the text scrolls seen in the movie ``The Matrix.'' \ +Written by Jamie Zawinski. + +*hacks.petri.documentation: \ +This simulates colonies of mold growing in a petri dish. Growing \ +colored circles overlap and leave spiral interference in their wake. \ +Written by Dan Bornstein. + +*hacks.shadebobs.name: ShadeBobs +*hacks.shadebobs.documentation: \ +This draws smoothly-shaded oscilating oval patterns, that look \ +something like vapor trails or neon tubes. Written by Shane Smit. + +*hacks.ccurve.name: C Curve +*hacks.ccurve.documentation: \ +Generates self-similar linear fractals, including the classic ``C \ +Curve.'' Written by Rick Campbell. + +*hacks.blaster.documentation: \ +Draws a simulation of flying space-combat robots (cleverly disguised \ +as colored circles) doing battle in front of a moving star field. \ +Written by Jonathan Lin. + +*hacks.bumps.documentation: \ +A bit like `Spotlight', except that instead of merely exposing part \ +of your desktop, it creates a bump map from it. Basically, it \ +3D-izes a roaming section of your desktop, based on color intensity. \ +Written by Shane Smit. + +*hacks.xteevee.name: XTeeVee +*hacks.xteevee.documentation: \ +XTeeVee simulates various television problems, including static, \ +loss of vertical hold, and a test pattern. By Greg Knauss. + +*hacks.xspirograph.name: XSpiroGraph +*hacks.xspirograph.documentation: \ +Simulates that pen-in-nested-plastic-gears toy from your childhood. \ +By Rohit Singh. + +*hacks.nerverot.name: NerveRot +*hacks.nerverot.documentation: \ +Draws different shapes composed of nervously vibrating squiggles, \ +as if seen through a camera operated by a monkey on crack. \ +By Dan Bornstein. + +*hacks.webcollage.name: WebCollage +*hacks.webcollage.documentation: \ +This program makes collages out of random images pulled off of the \ +World Wide Web. It finds these images by doing random web searches, \ +and then extracting images from the returned pages. It can also be \ +set up to filter the images through the `VidWhacker' program, above, \ +which looks really great. \ + \n\n\ +(Note that most of the images it finds are text, and not pictures. \ +This is because most of the web is pictures of text. Which is pretty \ +sad.) Written by Jamie Zawinski. + +*hacks.vidwhacker.name: VidWhacker +*hacks.vidwhacker.documentation: \ +This is actually just a shell script that grabs a frame of video from \ +the system's video input, and then uses some PBM filters (chosen at \ +random) to manipulate and recombine the video frame in various ways \ +(edge detection, subtracting the image from a rotated version of \ +itself, etc.) Then it displays that image for a few seconds, and \ +does it again. This works really well if you just feed broadcast \ +television into it. \ + \n\n\ +Currently, the three lines of the script that actually grab the \ +source picture are SGI specific, but it should be trivial to adapt it \ +to work on other systems that can grab video (please send me the \ +changes if you do this...) + +*hacks.rocks.documentation: \ +This draws an animation of flight through an asteroid field, with \ +changes in rotation and direction. It can also display 3D \ +separations for red/blue glasses! Mostly written by Jamie Zawinski. + +*hacks.bubbles.documentation: \ +This simulates the kind of bubble formation that happens when water \ +boils:small bubbles appear, and as they get closer to each other, \ +they combine to form larger bubbles, which eventually pop. Written \ +by James Macnicol. + +*hacks.gears.documentation: \ +This draws sets of turning, interlocking gears, rotating in three \ +dimensions. Another GL hack, by Danny Sung, Brian Paul, Ed Mackey, \ +and Jamie Zawinski. + +*hacks.superquadrics.documentation: \ +Ed Mackey reports that he wrote the first version of this program in \ +BASIC on a Commodore 64 in 1987, as a 320x200 black and white \ +wireframe. Now it is GL and has specular reflections. + +*hacks.morph3d.name: Morph3D +*hacks.morph3d.documentation: \ +Another 3d shape-changing GL hack, by Marcelo Vianna. It has the \ +same shiny-plastic feel as Superquadrics, as many computer-generated \ +objects do... + +*hacks.cage.documentation: \ +This draws Escher's ``Impossible Cage,'' a 3d analog of a moebius \ +strip, and rotates it in three dimensions. Written by Marcelo \ +Vianna. + +*hacks.moebius.documentation: \ +Another M. C. Escher hack by Marcelo Vianna, this one draws \ +``Moebius Strip II,'' a GL image of ants walking along the surface of \ +a moebius strip. + +*hacks.stairs.documentation: \ +by Marcelo Vianna's third Escher GL hack, this one draws an \ +``infinite'' staircase. + +*hacks.pipes.documentation: \ +If you've ever been in the same room with a Windows NT machine, \ +you've probably seen this GL hack. This version is by Marcelo \ +Vianna. + +*hacks.sproingies.documentation: \ +Q-Bert meets Marble Madness! Written by Ed Mackey. + +*hacks.rubik.documentation: \ +Draws a Rubik's Cube that rotates in three dimensions and repeatedly \ +shuffles and solves itself. Another fine GL hack by Marcelo Vianna. + +*hacks.atlantis.documentation: \ +This is xfishtank writ large: a GL animation of a number of sharks, \ +dolphins, and whales. The swimming motions are great. Originally \ +written by Mark Kilgard. + +*hacks.lament.documentation: \ +Animates a simulation of Lemarchand's Box, repeatedly solving itself. \ +Requires OpenGL, and a machine with fast hardware support for texture \ +maps. Warning: occasionally opens doors. Written by Jamie Zawinski. + +*hacks.bubble3d.name: Bubble3D +*hacks.bubble3d.documentation: \ +Draws a stream of rising, undulating 3D bubbles, rising toward the \ +top of the screen, with nice specular reflections. Written by Richard \ +Jones. + +*hacks.glplanet.name: GLPlanet +*hacks.glplanet.documentation: \ +Draws a planet bouncing around in space. Written by David Konerding. \ +The built-in image is a map of the earth (extracted from `xearth'), \ +but you can wrap any texture around the sphere, e.g., the planetary \ +textures that come with `ssystem'. + +*hacks.pulsar.documentation: \ +Draws some intersecting planes, making use of alpha blending, fog, \ +textures, and mipmaps, plus a ``frames per second'' meter so that you \ +can tell how fast your graphics card is... Requires OpenGL. Written \ +by David Konerding. + +*hacks.extrusion.documentation: \ +Draws various rotating extruded shapes that twist around, lengthen, \ +and turn inside out. Created by David Konerding from the samples \ +that come with the GL Extrusion library by Linas Vepstas. + +*hacks.sierpinski3d.name: Sierpinski3D +*hacks.sierpinski3d.documentation: \ +This draws the three-dimensional variant of the recursive Sierpinski \ +triangle fractal, using GL. Written by Tim Robinson and Jamie Zawinski. + +*hacks.ripples.documentation: \ +This draws rippling interference patterns like splashing water. \ +With the -water option, it manipulates your desktop image to look \ +like something is dripping into it. Written by Tom Hammersley. + +*hacks.gflux.name: GFlux +*hacks.gflux.documentation: \ +Draws a rippling waves on a rotating wireframe grid, using GL. \ +Written by Josiah Pease. + +*hacks.xrayswarm.name: XRaySwarm +*hacks.xrayswarm.documentation: \ +Draws a few swarms of critters flying around the screen, with nicely \ +faded color trails behind them. Written by Chris Leger. + +*hacks.zoom.documentation: \ +Zooms in on a part of the screen and then moves around. With the \ +-lenses option the result is like looking through many overlapping \ +lenses rather than just a simple zoom. Written by James Macnicol. + +*hacks.whirlwindwarp.name: WhirlwindWarp +*hacks.whirlwindwarp.documentation: \ +Floating stars are acted upon by a mixture of simple 2D \ +forcefields. The strength of each forcefield changes \ +continuously, and it is also switched on and off at random. \ +By Paul 'Joey' Clark. + +*hacks.rotzoomer.name: RotZoomer +*hacks.rotzoomer.documentation: \ +Creates a collage of rotated and scaled portions of the \ +screen. Written by Claudio Matsuoka. + +*hacks.stonerview.name: StonerView +*hacks.stonerview.documentation: \ +Chains of colorful squares dance around each other in complex spiral \ +patterns. Written by Andrew Plotkin, based on SGI's `electropaint' \ +screensaver. + +*hacks.starwars.name: StarWars +*hacks.starwars.documentation: \ +Draws a stream of text slowly scrolling into the distance at an \ +angle, over a star field, like at the beginning of the movie of the \ +same name. Written by Jamie Zawinski and Claudio Matauoka. + +*hacks.gltext.name: GLText +*hacks.gltext.documentation: \ +Displays a few lines of text spinning around in a solid 3D font. \ +Written by Jamie Zawinski. + +*hacks.molecule.documentation: \ +Draws several different representations of molecules. Some common \ +molecules are built in, and it can also read PDB (Protein Data Base) \ +files as input. Written by Jamie Zawinski. + +*hacks.dangerball.name: DangerBall +*hacks.dangerball.documentation: \ +Draws a ball that periodically extrudes many random spikes. Ouch! \ +Written by Jamie Zawinski. + +*hacks.whirlygig.name: WhirlyGig +*hacks.whirlygig.documentation: \ +Draws zooming chains of sinusoidal spots. Written by Ashton Trey Belew. + +*hacks.speedmine.name: SpeedMine +*hacks.speedmine.documentation: \ +Simulates speeding down a rocky mineshaft, or a funky dancing worm. \ +Written by Conrad Parker. + +*hacks.circuit.documentation: \ +Animates a number of 3D electronic components. Written by Ben Buxton. + +*hacks.vermiculate.documentation: \ +Draws squiggly worm-like paths. Written by Tyler Pierce. + + +!============================================================================= +! +! Documentation for some programs that are not bundled with XScreenSaver ! -*pointerPollTime: 5 -*initialDelay: 30 -*windowCreationTimeout: 30 +!============================================================================= + +*hacks.xdaliclock.name: XDaliClock +*hacks.xdaliclock.documentation: \ +XDaliClock draws a large digital clock, the numbers of which change by \ +``melting'' into their new shapes. Written by Jamie Zawinski. This \ +is not included with the XScreenSaver package, but if you don't have \ +it already, you can find it at . + +*hacks.xearth.documentation: \ +XEarth draws an image of the Earth, as seen from your favorite vantage \ +point in space, correctly shaded for the current position of the Sun. \ +Written by Kirk Johnson. This is not included with the XScreenSaver \ +package, but if you don't have it already, you can find it at \ +. + +*hacks.xplanetbg.name: XPlanet +*hacks.xplanetbg.documentation: \ +XPlanet is like XEarth, but with more options. It draws an image of \ +the Earth (or other planets!), as seen from your favorite vantage \ +point in space, correctly shaded for the current position of the Sun. \ +Written by Hari Nair. This is not included with the XScreenSaver \ +package, but if you don't have it already, you can find it at \ +. + +*hacks.ssystem.name: SSystem +*hacks.ssystem.documentation: \ +SSystem is a GL Solar System simulator. It simulates flybys of Sun, \ +the nine planets and a few major satellites, with four camera modes. \ +Written by Raul Alonso. This is not included with the XScreenSaver \ +package, but if you don't have it already, you can find it at \ +. + +*hacks.xmountains.documentation: \ +XMountains generates realistic-looking fractal terrains of snow-capped \ +mountains near water, with either a top view or a side view. \ +Written by Stephen Booth. This is not included with the XScreenSaver \ +package, but if you don't have it already, you can find it at \ +. \ + \n\n\ +Be sure to compile it with -DVROOT or it won't work right when launched \ +by the xscreensaver daemon. + +*hacks.xaos.name: XaoS +*hacks.xaos.documentation: \ +XaoS generates fast fly-through animations of the Mandelbrot and other \ +fractal sets. Written by Thomas Marsh and Jan Hubicka. This is not \ +included with the XScreenSaver package, but if you don't have it \ +already, you can find it at . + +*hacks.xfishtank.name: XFishTank +*hacks.xfishtank.documentation: \ +Fish! This is not included with the XScreenSaver package, but if you \ +don't have it already, you can find it at \ +. + +*hacks.xsnow.documentation: \ +Draws falling snow and the occasional tiny Santa. By Rick Jansen. \ +You can find it at . + +*hacks.goban.documentation: \ +Replays historical games of go (aka wei-chi and baduk) on the screen. \ +By Scott Draves. You can find it at . + +*hacks.electricsheep.name: ElectricSheep +*hacks.electricsheep.documentation: \ +ElectricSheep is an xscreensaver module that displays mpeg video of \ +an animated fractal flame. In the background, it contributes render \ +cycles to the next animation. Periodically it uploades completed \ +frames to the server, where they are compressed for distribution to \ +all clients. \ + \n\n\ +This program is recommended only if you have a high bandwidth \ +connection to the Internet. \ + \n\n\ +By Scott Draves. You can find it at . \ +See that web site for configuration information. + +*hacks.cosmos.documentation: \ +Draws fireworks and zooming, fading flares. By Tom Campbell. \ +You can find it at . + +*hacks.sphereEversion.name: SphereEversion +*hacks.sphereEversion.documentation: \ +SphereEversion draws an animation of a sphere being turned inside out. \ +A sphere can be turned inside out, without any tears, sharp creases or \ +discontinuities, if the surface of the sphere is allowed to intersect \ +itself. This program animates what is known as the Thurston Eversion. \ +Written by Nathaniel Thurston and Michael McGuffin. This program is \ +not included with the XScreenSaver package, but if you don't have it \ +already, you can find it at . -*bourneShell: /bin/sh +! (xrdb prevention kludge: whole file) */