-! app-defaults file for XScreenSaver by Jamie Zawinski.
+!
+! XScreenSaver
+!
+! a screen saver and locker for the X window system
+! by Jamie Zawinski
+!
+! version 2.14
+!
! See "man xscreensaver" for more info. The latest version is always
! available at http://people.netscape.com/jwz/xscreensaver/
! metacharacters are used, they must be understandable to `sh', not `csh'
! (the $SHELL variable is not consulted, for unfortunate but good reasons.)
!
-*programs: qix -root \n\
- qix -root -solid -delay 0 -segments 100 \n\
- qix -root -linear -count 10 -size 100 -segments 200 \n\
+! 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\
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\
lmorph -root \n\
deco -root \n\
moire -root \n\
- kaleidescope -root \n\
lightning -root \n\
strange -root \n\
- fract -root \n\
spiral -root \n\
laser -root \n\
grav -root \n\
sierpinski -root \n\
braid -root \n\
galaxy -root \n\
- slip -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\
\
mono: rocks -root \n\
color: rocks -root -fg darksalmon \n\
! A few of the hacks require OpenGL, and will only be built if you have it.
-! Note that those hacks (gears, superquadratics, escher, pipes, and
-! sproingies) will work best on a visual *half* as deep as the depth of the
-! screen, since that way they can do double-buffering -- on an SGI, you
-! should specify the 12-bit TrueColor visual (probably 0x29) instead of
-! letting XScreenSaver pick the visual itself (specifying "TrueColor" would
-! select the 24-bit TrueColor visual, and double-buffering wouldn't be used,
-! resulting in flicker.)
+! 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, escher, 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.
+!
+! 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):
! xbouncebits ... \n\
! ico -r -faces -sleep 1 -obj ico \n\
! xsplinefun \n\
-! kaleid -root \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
! default: xtacy -root -delay 100 -mixer \n\
! default: xtacy -root -delay 100 -taffy -pal 4 \n\
!
-! To display a slideshow of images, you can do something like this:
+! To display a randomized slideshow of images, you can do something like this:
!
-! default: xv -root -rmode 5 image-1.gif -quit
-! default: xv -root -rmode 5 image-2.gif -quit
-! default: xv -root -rmode 5 image-3.gif -quit
+! 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...
!
-! however, for this to work, you must also have started the screensaver so
-! that it uses the default colormap (the "-no-install" command-line option, or
-! the "installColormap: False" resource) because when XV is running in "-root"
-! mode, it always assumes that the default colormap is being used, rather than
-! examining the window it is drawing on to see what colormap it has. (It
-! also assumes the default visual, but we've taken care of that above.)
+! 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
+! 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 SGI GL programs work with XScreenSaver; most don't.
+! Some of the GL demos that SGI ships work with XScreenSaver; most don't.
+! XScreenSaver includes a program (not built or installed by default)
+! called "xscreensaver-sgigl". To use the SGI demos with XScreenSaver,
+! build that program, and use it to launch the SGI demos. For example,
+! on Irix 6.2, you can do this:
!
-! Bongo works fine:
+! xscreensaver-sgigl /usr/demos/bin/ep -S
+! xscreensaver-sgigl /usr/demos/bin/bongo
+! xscreensaver-sgigl /usr/demos/bin/atlantis
!
-! /usr/demos/bin/bongo -wbongo
+! On Irix 6.3, things have moved, so you need to do it like this:
!
-! ElectroPaint sort-of works; XScreenSaver will launch it, and it will run
-! properly, but when it's time to turn off the screensaver, you need to hit
-! the Escape key, rather than just moving the mouse. Apparently GL programs
-! are able to intercept the keyboard even when X has the keyboard grabbed!
+! xscreensaver-sgigl /usr/sbin/ep -S
!
-! /usr/demos/bin/ep
+! 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.
!
-! None of the other SGI GL demos I've tried worked, because none of them seem
-! to have command-line options that will make them take up the whole screen;
-! so all you get is a miniscule 100x100 image, which is worthless. This is a
-! shame, since many of those demos would make fine screensavers.
!
-! If anyone who understands how "haven" works would like to send me the code
-! necessary to do what it does, I would be much obliged.
+! 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.
+!
+! Basically, the SGI demo writers went out of their way to make my life hell.
*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.
+!
+XScreenSaver*dragInitiatorProtocolStyle: DRAG_NONE
+XScreenSaver*dragReceiverProtocolStyle: DRAG_NONE
+
+
! Resources for the dialog boxes using the abominable Athena widgets:
!