4 ! a screen saver and locker for the X window system
10 ! See "man xscreensaver" for more info. The latest version is always
11 ! available at http://www.jwz.org/xscreensaver/
14 ! These resources, when placed in the system-wide app-defaults directory
15 ! (e.g., /usr/lib/X11/app-defaults/XScreenSaver) will provide the default
16 ! settings for new users. However, if you have a ".xscreensaver" file in
17 ! your home directory, the settings in that file take precedence.
20 ! Don't hand this file to "xrdb" -- that isn't how app-defaults files work.
21 ! Though app-defaults files have (mostly) the same syntax as your ~/.Xdefaults
22 ! file, they are used differently, and if you run this file through xrdb,
23 ! you will probably mess things up.
25 #error Do not run app-defaults files through xrdb!
26 #error That does not do what you might expect.
27 #error Put this file in /usr/lib/X11/app-defaults/XScreenSaver instead.
29 ! /* (xrdb prevention kludge: whole file)
34 *passwdTimeout: 0:00:30
39 *grabDesktopImages: True
40 *grabVideoFrames: False
41 *chooseRandomImages: False
54 *splashDuration: 0:00:05
58 *overlayTextForeground: #FFFF00
59 *overlayTextBackground: #000000
61 *font: *-medium-r-*-140-*-m-*
63 ! The default is to use these extensions if available (as noted.)
64 *sgiSaverExtension: True
65 *mitSaverExtension: False
69 ! This is what the "Demo" button on the splash screen runs (/bin/sh syntax.)
70 *demoCommand: xscreensaver-demo
72 ! This is what the "Prefs" button on the splash screen runs (/bin/sh syntax.)
73 *prefsCommand: xscreensaver-demo -prefs
75 ! This is the URL that the "Help" button on the splash screen loads.
76 *helpURL: http://www.jwz.org/xscreensaver/man.html
78 ! This is how the "Help" button loads URLs (/bin/sh syntax.)
79 ! The "helpURL" will be substituted for up to two occurrences of "%s".
80 *loadURL: netscape -remote 'openURL(%s)' || netscape '%s'
82 ! This is what the "Manual" button in xscreensaver-demo runs (/bin/sh syntax.)
83 @GNOMEHELP_N@*manualCommand: xterm +sb -fg black -bg gray75 -T '%s manual' \
84 @GNOMEHELP_N@ -e /bin/sh -c 'man "%s" || read foo'
86 @GNOMEHELP_Y@*manualCommand: gnome-help-browser 'man:%s'
89 ! The format used for printing the date and time in the password dialog box
90 ! (see the strftime(3) manual page for details.)
91 *dateFormat: %d-%b-%y (%a); %I:%M %p
92 ! To show the time only:
93 ! *dateFormat: %I:%M %p
98 ! Turning on "installColormap" interacts erratically with twm and tvtwm,
99 ! but seems to work fine with mwm and olwm. Try it and see. If your
100 ! screen turns some color other than black, the window manager is buggy,
101 ! and you need to set this resource to False (or get a WM that works.)
103 *installColormap: True
106 ! Any program which can draw on the root window will work as a screensaver.
107 ! The following resource enumerates them.
109 ! Programs are separated by newlines (specified in resource files with \n).
110 ! Lines may be continued with a lone \ at the end of the line.
112 ! Each line is an `sh' command.
114 ! If the first (non-blank) character on the line is "-", then that means
115 ! that this command is disabled: it's still in the list, but it won't ever
116 ! be used. (This is just to make it easy to disable and then re-enable
119 ! If the first word on the line is the name of a visual followed by a
120 ! colon, then that visual will be used for the program, if it is available.
121 ! If no such visual is available, then the program will be skipped. In
122 ! this way, you can specify that you want certain programs to run only
123 ! on color screens, and others only on mono screens, by making use of the
124 ! magic visual names "color" and "mono". Likewise, if some hacks prefer
125 ! colormaps, but others prefer 24-bit windows, that also can be arranged
126 ! (in this case, by using "PseudoColor:" versus "TrueColor:".)
128 ! Some of the screenhacks are written using OpenGL. OpenGL programs are
129 ! a bit different than normal X programs, in that they prefer visuals that
130 ! are *half* as deep as the screen. You can tell xscreensaver to select a
131 ! good visual for a GL program by using the magic visual name "GL".
133 ! All programs must be launched in such a way that they draw on the root
134 ! window; they should not be spawned in the background with "&". If shell
135 ! metacharacters are used, they must be understandable to `sh', not `csh'
136 ! (the $SHELL variable is not consulted, for unfortunate but good reasons.)
138 ! Be sure to check out Demo Mode: run the `xscreensaver-demo' program to
139 ! edit the current list of programs interactively, try out the various modes,
140 ! and change other parameters. See the man page for details.
143 "Qix (solid)" qix -root -solid -segments 100 \n\
144 "Qix (transparent)" qix -root -count 4 -solid -transparent \n\
145 "Qix (linear)" qix -root -count 5 -solid -transparent \
146 -linear -segments 250 -size 100 \n\
147 - mono: "Qix (xor)" qix -root -linear -count 5 -size 200 \
148 -spread 30 -segments 75 -solid -xor \n\
150 "Attraction (balls)" attraction -root -mode balls \n\
151 "Attraction (lines)" attraction -root -mode lines -points 3 \
153 - "Attraction (poly)" attraction -root -mode polygons \n\
154 "Attraction (splines)" attraction -root -mode splines -segments \
156 "Attraction (orbital)" attraction -root -mode lines -radius 300 \
157 -orbit -vmult 0.5 \n\
163 rorschach -root -offset 7 \n\
167 slidescreen -root \n\
168 decayscreen -root \n\
170 blitspin -root -grab \n\
174 "Ripples (oily)" ripples -root -oily -light 2 \n\
175 "Ripples (stir)" ripples -root -oily -light 2 -stir \n\
176 "Ripples (desktop)" ripples -root -water -light 6 \n\
192 "Grav (trails)" grav -root -trail -decay \n\
207 goop -root -max-velocity 0.5 -elasticity \
210 "Starfish (blob)" starfish -root -blob \n\
213 coral -root -delay 0 \n\
215 triangle -root -delay 1 \n\
222 kaleidescope -root \n\
224 xlyap -root -randomize \n\
228 interference -root \n\
229 truchet -root -randomize \n\
235 "RD-Bomb (mobile)" rd-bomb -root -speed 1 -size 0.1 \n\
244 "Wander (spots)" wander -root -advance 0 -size 10 -circles \
245 -length 10000 -reset 100000 \n\
249 petri -root -size 2 -count 20 \n\
250 "Petri 2" petri -root -minlifespeed 0.02 \
251 -maxlifespeed 0.03 -minlifespan 1 \
252 -maxlifespan 1 -instantdeathchan 0 \
253 -minorchan 0 -anychan 0.3 \n\
259 xspirograph -root \n\
261 - "NerveRot (dense)" nerverot -root -count 1000 \n\
262 - "NerveRot (thick)" nerverot -root -count 100 -line-width 4 \
263 -max-nerve-radius 0.8 -nervousness 0.5 -db \n\
265 - "Zoom (Fatbits)" zoom -root \n\
266 "Zoom (Lenses)" zoom -root -lenses \n\
268 - "RotZoomer (mobile)" rotzoomer -root -move \n\
269 - "RotZoomer (sweep)" rotzoomer -root -sweep \n\
270 whirlwindwarp -root \n\
271 "WhirlyGig" whirlygig -root \n\
272 "SpeedMine" speedmine -root \n\
273 "SpeedWorm" speedmine -root -worm \n\
274 vermiculate -root \n\
278 "Euler2d (dense)" euler2d -root -count 4000 -eulertail 400 \
281 polyominoes -root \n\
283 color: bubbles -root \n\
284 default-n: webcollage -root \n\
285 default-n: "WebCollage (whacked)" \
286 webcollage -root -filter \
287 'vidwhacker -stdin -stdout' \n\
288 - default-n: vidwhacker -root \n\
290 @GL_KLUDGE@ GL: gears -root \n\
291 @GL_KLUDGE@ GL: "Gears (planetary)" gears -root -planetary \n\
292 @GL_KLUDGE@ GL: superquadrics -root \n\
293 @GL_KLUDGE@ GL: morph3d -root \n\
294 @GL_KLUDGE@ GL: cage -root \n\
295 @GL_KLUDGE@ GL: moebius -root \n\
296 @GL_KLUDGE@ GL: stairs -root \n\
297 @GL_KLUDGE@ GL: pipes -root \n\
298 @GL_KLUDGE@ GL: sproingies -root \n\
299 @GL_KLUDGE@ GL: rubik -root \n\
300 @GL_KLUDGE@ GL: atlantis -root \n\
301 @GL_KLUDGE@ GL: lament -root \n\
302 @GL_KLUDGE@ GL: bubble3d -root \n\
303 @GL_KLUDGE@ GL: glplanet -root \n\
304 @GL_KLUDGE@ GL: pulsar -root \n\
305 - GL: "Pulsar (textures)" \
306 pulsar -root -texture -mipmap \
307 -texture_quality -light -fog \n\
308 @GLE_KLUDGE@GL: extrusion -root \n\
309 @GL_KLUDGE@ GL: sierpinski3d -root \n\
310 @GL_KLUDGE@ GL: menger -root \n\
311 @GL_KLUDGE@ GL: "GFlux" gflux -root \n\
312 @GL_KLUDGE@ GL: "GFlux (grab)" gflux -root -mode grab \n\
313 @GL_KLUDGE@ GL: stonerview -root \n\
314 @GL_KLUDGE@ GL: starwars -root \n\
315 @GL_KLUDGE@ GL: gltext -root \n\
316 @GL_KLUDGE@ GL: "GLText (clock)" gltext -text "%A%n%d %b %Y%n%r" -root \n\
317 @GL_KLUDGE@ GL: "Molecule" molecule -root \n\
318 @GL_KLUDGE@ GL: "Molecule (lumpy)" molecule -root -no-bonds -no-labels \n\
319 @GL_KLUDGE@ GL: dangerball -root \n\
320 @GL_KLUDGE@ GL: circuit -root \n\
321 @GL_KLUDGE@ GL: engine -root \n\
322 @GL_KLUDGE@ GL: flipscreen3d -root \n\
323 @GL_KLUDGE@ GL: glsnake -root \n\
324 @GL_KLUDGE@ GL: boxed -root \n\
325 @GL_KLUDGE@ GL: glforestfire -root \n\
326 @GL_KLUDGE@ GL: sballs -root \n\
328 - xdaliclock -root -builtin3 -cycle \n\
329 - default-n: xearth -nofork -nostars -ncolors 50 \
330 -night 3 -wait 0 -timewarp 400.0 -pos \
332 - xplanetbg -xscreensaver -moonside \
333 -markerfile earth -wait 1 -timewarp 400 \n\
334 - xmountains -b -M -Z 0 -r 1 \n\
335 - "XMountains (top)" xmountains -b -M -Z 0 -r 1 -m \n\
336 - xaos -fullscreen -autopilot \
337 -incoloring -1 -outcoloring -1 \n\
338 - xfishtank -d -s \n\
343 - GL: sphereEversion --root \n
346 ! To display a randomized slideshow of images, you can do something like this:
348 ! default-n: "Slideshow" xv -root -rmode 5 -random -viewonly \
349 ! -wloop -wait 30 $HOME/bitmaps/*.jpg \n\
351 ! Recipes for using other slideshow programs can be found in the
352 ! XScreenSaver FAQ: http://www.jwz.org/xscreensaver/faq.html
354 ! Note that we've used "default-n" as the visual name, rather than just
355 ! "default": this means "default visual, no install", that is, it's like
356 ! specifying the command-line arguments "-visual default -no-install".
357 ! This is necessary because, when XV or XLI arerunning in "-root" mode, they
358 ! always assume that the default visual and colormap are being used, rather
359 ! than examining the window it is drawing on to see what visual and colormap
360 ! it has. If we didn't force the default visual to be used, we would get an
361 ! X error. If we didn't force the default colormap to be installed, the
362 ! colors would be all wrong. "default-i" may also be used as a visual name
363 ! (meaning, "-visual default -install") but you probably won't ever need
367 ! Some of the GL demos that SGI ships work with XScreenSaver; most don't.
368 ! XScreenSaver includes a program (not built or installed by default)
369 ! called "xscreensaver-sgigl". To use the SGI demos with XScreenSaver,
370 ! build that program, and use it to launch the SGI demos. For example,
371 ! on Irix 6.2, you can do this:
373 ! xscreensaver-sgigl /usr/demos/bin/ep -S
374 ! xscreensaver-sgigl /usr/demos/bin/bongo
376 ! On Irix 6.3, things have moved, so you need to do it like this:
378 ! xscreensaver-sgigl /usr/sbin/ep -S
380 ! (But note that, on non-SGIs, the bundled "stonerview" hack is a decent
381 ! clone of "ep". Yay!)
383 ! You can also use the "ant" demo, but first you need to wrap a shell script
384 ! around it that cds to its home directory, so that it can find its files;
385 ! and also pass it the -S argument, to prevent it from forking. What a mess!
386 ! Basically, the SGI demo writers went out of their way to make my life hell.
390 !=============================================================================
392 ! You probably don't want to change anything after this point.
394 !=============================================================================
397 XScreenSaver.pointerPollTime: 0:00:05
398 XScreenSaver.initialDelay: 0:00:00
399 XScreenSaver.windowCreationTimeout: 0:00:30
400 XScreenSaver.bourneShell: /bin/sh
403 ! Resources for the password and splash-screen dialog boxes of
404 ! the "xscreensaver" daemon.
406 *Dialog.headingFont: *-times-bold-r-*-*-*-180-*-*-*-iso8859-1
407 *Dialog.bodyFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
408 *Dialog.labelFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
409 *Dialog.buttonFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
410 *Dialog.dateFont: *-courier-medium-r-*-*-*-80-*-*-*-iso8859-1
411 *Dialog.foreground: #000000
412 *Dialog.background: #D6D6D6
413 *Dialog.Button.foreground: #000000
414 *Dialog.Button.background: #EAEAEA
415 !*Dialog.Button.background: #D6D6D6
416 !*Dialog.Button.pointBackground: #EAEAEA
417 !*Dialog.Button.clickBackground: #C3C3C3
418 *Dialog.text.foreground: #000000
419 *Dialog.text.background: #FFFFFF
420 *passwd.thermometer.foreground: #FF0000
421 *passwd.thermometer.background: #FFFFFF
422 *Dialog.topShadowColor: #FFFFFF
423 *Dialog.bottomShadowColor: #666666
424 *Dialog.logo.width: 210
425 *Dialog.logo.height: 210
426 *Dialog.internalBorderWidth: 30
427 *Dialog.borderWidth: 1
428 *Dialog.shadowThickness: 2
430 *passwd.heading.label: XScreenSaver %s
431 *passwd.body.label: This display is locked.
432 *passwd.user.label: User:
433 *passwd.passwd.label: Password:
434 *passwd.passwdFont: *-courier-medium-r-*-*-*-140-*-*-*-iso8859-1
435 *passwd.thermometer.width: 8
437 *splash.heading.label: XScreenSaver %s
438 *splash.body.label: Copyright © 1991-2002 by
439 *splash.body2.label: Jamie Zawinski <jwz@jwz.org>
440 *splash.demo.label: Settings
441 *splash.help.label: Help
444 ! Resources for the Motif dialog boxes of the "xscreensaver-demo" program.
446 *fontList: *-helvetica-medium-r-*-*-*-120-*-*-*-iso8859-1
447 *demoDialog*label1.fontList: *-helvetica-medium-r-*-*-*-140-*-*-*-iso8859-1
448 *cmdText.fontList: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
449 *label0.fontList: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
450 XScreenSaver*doc.fontList: *-helvetica-medium-r-*-*-*-100-*-*-*-iso8859-1
451 ! above must be fully qualified to get around *sgiMode.
455 *XmTextField.foreground: #000000
456 *XmTextField.background: #FFFFFF
457 *list.foreground: #000000
458 *list.background: #FFFFFF
460 *ApplicationShell.title: XScreenSaver
461 *warning.title: XScreenSaver
462 *warning_popup.title: XScreenSaver
463 *allowShellResize: True
466 *menubar*file.labelString: File
467 *menubar*file.mnemonic: F
468 *file.blank.labelString: Blank Screen Now
469 *file.blank.mnemonic: B
470 *file.lock.labelString: Lock Screen Now
471 *file.lock.mnemonic: L
472 *file.kill.labelString: Kill Daemon
473 *file.kill.mnemonic: K
474 *file.restart.labelString: Restart Daemon
475 *file.restart.mnemonic: R
476 *file.exit.labelString: Exit
477 *file.exit.mnemonic: E
479 *menubar*edit.labelString: Edit
480 *menubar*edit.mnemonic: E
481 *edit.cut.labelString: Cut
482 *edit.cut.mnemonic: u
483 *edit.copy.labelString: Copy
484 *edit.copy.mnemonic: C
485 *edit.paste.labelString: Paste
486 *edit.paste.mnemonic: P
488 *menubar*help.labelString: Help
489 *menubar*help.mnemonic: H
490 *help.about.labelString: About...
491 *help.about.mnemonic: A
492 *help.docMenu.labelString: Documentation...
493 *help.docMenu.mnemonic: D
495 *demoTab.marginWidth: 10
496 *optionsTab.marginWidth: 10
498 *XmScrolledWindow.topOffset: 10
499 *XmScrolledWindow.leftOffset: 10
500 *demoTab.topOffset: 4
501 *form1.bottomOffset: 10
502 *form3.leftOffset: 10
503 *form3.rightOffset: 10
505 *frame.bottomOffset: 10
506 *enabled.topOffset: 10
507 *visLabel.topOffset: 10
509 *form4.bottomOffset: 4
511 *XmComboBox.marginWidth: 0
512 *XmComboBox.marginHeight: 0
514 *demo.marginWidth: 30
515 *demo.marginHeight: 4
520 *down.marginHeight: 4
523 *frame.traversalOn: False
525 *list.automaticSelection: True
526 *list.visibleItemCount: 20
530 *demoTab.labelString: Graphics Demos
531 *optionsTab.labelString: Screensaver Options
532 *down.labelString: \\/
534 *frameLabel.labelString:
535 *cmdLabel.labelString: Command Line:
536 *cmdLabel.alignment: ALIGNMENT_BEGINNING
537 *enabled.labelString: Enabled
538 *visLabel.labelString: Visual:
539 *visLabel.alignment: ALIGNMENT_END
540 *visLabel.leftOffset: 20
541 *demo.labelString: Demo
542 *man.labelString: Documentation...
543 *done.labelString: Quit
545 *preferencesLabel.labelString: XScreenSaver Parameters
547 *timeoutLabel.labelString: Saver Timeout
548 *cycleLabel.labelString: Cycle Timeout
549 *fadeSecondsLabel.labelString: Fade Duration
550 *fadeTicksLabel.labelString: Fade Ticks
551 *lockLabel.labelString: Lock Timeout
552 *passwdLabel.labelString: Password Timeout
553 *preferencesForm*XmTextField.columns: 8
555 *verboseToggle.labelString: Verbose
556 *cmapToggle.labelString: Install Colormap
557 *fadeToggle.labelString: Fade Colormap
558 *unfadeToggle.labelString: Unfade Colormap
559 *lockToggle.labelString: Require Password
566 *Cancel.marginWidth: 30
567 *Cancel.marginHeight: 4
568 *Cancel.rightOffset: 10
569 *Cancel.bottomOffset: 10
572 !=============================================================================
574 ! Pretty names for the hacks that have unusual capitalization.
576 !=============================================================================
578 *hacks.imsmap.name: IMSmap
579 *hacks.slidescreen.name: SlideScreen
580 *hacks.decayscreen.name: DecayScreen
581 *hacks.blitspin.name: BlitSpin
582 *hacks.lmorph.name: LMorph
584 *hacks.fadeplot.name: FadePlot
585 *hacks.bsod.name: BSOD
586 *hacks.rd-bomb.name: RD-Bomb
588 *hacks.shadebobs.name: ShadeBobs
589 *hacks.ccurve.name: C Curve
590 *hacks.xteevee.name: XTeeVee
591 *hacks.xspirograph.name: XSpiroGraph
592 *hacks.nerverot.name: NerveRot
593 *hacks.webcollage.name: WebCollage
594 *hacks.vidwhacker.name: VidWhacker
595 *hacks.morph3d.name: Morph3D
596 *hacks.bubble3d.name: Bubble3D
597 *hacks.glplanet.name: GLPlanet
598 *hacks.sierpinski3d.name: Sierpinski3D
599 *hacks.gflux.name: GFlux
600 *hacks.xrayswarm.name: XRaySwarm
601 *hacks.whirlwindwarp.name: WhirlwindWarp
602 *hacks.rotzoomer.name: RotZoomer
603 *hacks.stonerview.name: StonerView
604 *hacks.starwars.name: StarWars
605 *hacks.gltext.name: GLText
606 *hacks.dangerball.name: DangerBall
607 *hacks.whirlygig.name: WhirlyGig
608 *hacks.speedmine.name: SpeedMine
609 *hacks.glsnake.name: GLSnake
610 *hacks.glforestfire.name: GLForestFire
611 *hacks.sballs.name: SBalls
612 *hacks.xdaliclock.name: XDaliClock
613 *hacks.xplanetbg.name: XPlanet
614 *hacks.xaos.name: XaoS
615 *hacks.xfishtank.name: XFishTank
616 *hacks.electricsheep.name: ElectricSheep
617 *hacks.sphereEversion.name: SphereEversion
619 ! obsolete, but still used by xscreensaver-demo-Xm.
620 *hacks.documentation.isInstalled: True
622 ! (xrdb prevention kludge: whole file) */