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.
37 *overlayTextForeground: #FFFF00
38 *overlayTextBackground: #000000
40 *font: *-medium-r-*-140-*-m-*
42 ! The default is to use these extensions if available (as noted.)
43 *sgiSaverExtension: True
44 *mitSaverExtension: False
48 ! This is what the "Demo" button on the splash screen runs (/bin/sh syntax.)
49 *demoCommand: xscreensaver-demo
51 ! This is what the "Prefs" button on the splash screen runs (/bin/sh syntax.)
52 *prefsCommand: xscreensaver-demo -prefs
54 ! This is the URL that the "Help" button on the splash screen loads.
55 *helpURL: http://www.jwz.org/xscreensaver/man.html
57 ! This is how the "Help" button loads URLs (/bin/sh syntax.)
58 ! The "helpURL" will be substituted for up to two occurrences of "%s".
59 *loadURL: netscape -remote 'openURL(%s)' || netscape '%s'
62 ! Turning on "installColormap" interacts erratically with twm and tvtwm,
63 ! but seems to work fine with mwm and olwm. Try it and see. If your
64 ! screen turns some color other than black, the window manager is buggy,
65 ! and you need to set this resource to False (or get a WM that works.)
67 *installColormap: True
70 ! Any program which can draw on the root window will work as a screensaver.
71 ! The following resource enumerates them.
73 ! Programs are separated by newlines (specified in resource files with \n).
74 ! Lines may be continued with a lone \ at the end of the line.
76 ! Each line is an `sh' command.
78 ! If the first (non-blank) character on the line is "-", then that means
79 ! that this command is disabled: it's still in the list, but it won't ever
80 ! be used. (This is just to make it easy to disable and then re-enable
83 ! If the first word on the line is the name of a visual followed by a
84 ! colon, then that visual will be used for the program, if it is available.
85 ! If no such visual is available, then the program will be skipped. In
86 ! this way, you can specify that you want certain programs to run only
87 ! on color screens, and others only on mono screens, by making use of the
88 ! magic visual names "color" and "mono". Likewise, if some hacks prefer
89 ! colormaps, but others prefer 24-bit windows, that also can be arranged
90 ! (in this case, by using "PseudoColor:" versus "TrueColor:".)
92 ! All programs must be launched in such a way that they draw on the root
93 ! window; they should not be spawned in the background with "&". If shell
94 ! metacharacters are used, they must be understandable to `sh', not `csh'
95 ! (the $SHELL variable is not consulted, for unfortunate but good reasons.)
97 ! Be sure to check out Demo Mode: run the command `xscreensaver-command -demo'
98 ! and it will cause the running XScreenSaver program to pop up a dialog box
99 ! that lets you try out the following programs interactively. See the man
102 *programs: qix -root -solid -delay 0 -segments 100 \n\
103 attraction -root -mode balls \n\
104 attraction -root -mode lines -points 3 -segments 200 \n\
105 attraction -root -mode splines -segments 300 \n\
106 attraction -root -mode lines -radius 300 \
107 -orbit -vmult 0.5 \n\
111 rorschach -root -offset 7 \n\
116 slidescreen -root \n\
117 decayscreen -root \n\
119 blitspin -root -grab \n\
137 grav -root -trail -decay \n\
154 starfish -root -blob \n\
166 kaleidescope -root \n\
168 - xlyap -root -randomize \n\
172 interference -root \n\
173 truchet -root -randomize \n\
179 rd-bomb -root -speed 1 -size 0.1 \n\
188 wander -root -advance 0 -size 10 -circles True \
189 -length 10000 -reset 100000 \n\
194 mono: rocks -root \n\
195 color: rocks -root -fg darksalmon \n\
197 mono: qix -root -linear -count 5 -size 200 -spread 30 \
198 -segments 75 -solid -xor \n\
200 color: attraction -root -mode polygons \n\
201 color: attraction -root -mode filled-splines -segments 0 \n\
202 color: attraction -root -glow -points 10 \n\
203 color: bubbles -root \n\
205 PseudoColor: qix -root -count 4 -solid -transparent \n\
206 PseudoColor: qix -root -count 5 -solid -transparent -linear \
207 -segments 250 -size 100 \n\
209 @GL_KLUDGE@ gears -root \n\
210 @GL_KLUDGE@ superquadrics -root \n\
211 @GL_KLUDGE@ morph3d -root \n\
212 @GL_KLUDGE@ cage -root \n\
213 @GL_KLUDGE@ moebius -root \n\
214 @GL_KLUDGE@ stairs -root \n\
215 @GL_KLUDGE@ pipes -root \n\
216 @GL_KLUDGE@ sproingies -root \n\
217 @GL_KLUDGE@ rubik -root \n\
218 @GL_KLUDGE@ atlantis -root \n\
219 @GL_KLUDGE@ lament -root \n\
220 @GL_KLUDGE@ bubble3d -root \n\
221 @GL_KLUDGE@ glplanet -root \n\
222 @GL_KLUDGE@ pulsar -root \n
225 ! A few of the hacks require OpenGL, and will only be built if you have it.
226 ! If your vendor doesn't provide real OpenGL, you might want to consider
227 ! building MesaGL, which is a free implementation -- GL is way cool.
229 ! Note that those hacks (gears, superquadratics, morph3d, cage, moebius,
230 ! stairs, pipes, sproingies, and rubik) tend to work best on a visual *half*
231 ! as deep as the depth of the screen, since that way, they can do
232 ! double-buffering -- try it and see, but you will probably find that you
233 ! should specify the deepest visual that is half as deep as the screen.
235 ! For example, on a screen that supports both 24-bit TrueColor and 12-bit
236 ! PseudoColor, the 12-bit visual will probably work best (this is true of
237 ! base-model SGI Indys: the 0x29 visual is the one you want.) Oddly, on SGI
238 ! O2s, (machines that have serious hardware support for GL) the 12-bit
239 ! PseudoColor visual looks awful (you get a black and white, flickery image.)
240 ! On these machines, the visual you want turns out to be 0x31 -- this is but
241 ! one of the eight 15-bit TrueColor visuals (yes, 8, and yes, 15) that O2s
242 ! provide. This is the only visual that works properly -- as far as xdpyinfo
243 ! is concerned, all of the 15-bit TrueColor visuals are identical, but some
244 ! flicker like mad, and some have deeply weird artifacts (hidden surfaces
245 ! show through!) I suppose these other visuals must be tied to some arcane
246 ! hardware feature... Your mileage, therefore, may vary dramatically.
248 ! Some other programs that you might want to track down (these work as
249 ! XScreenSaver helpers, but are not distributed with it):
251 ! xdaliclock -root -builtin2 \n\
254 ! xbouncebits ... \n\
255 ! ico -r -faces -sleep 1 -obj ico \n\
257 ! xmountains -b -M \n\
258 ! color: xfishtank -c black -d -r 2 \n\
260 ! xtacy is ok, but it only works on the default visual. We can satisfy
261 ! that constraint like so:
263 ! default: xtacy -root -delay 100 -funky -number 3 \n\
264 ! default: xtacy -root -delay 100 -gravity \n\
265 ! default: xtacy -root -delay 100 -mixer \n\
266 ! default: xtacy -root -delay 100 -taffy -pal 4 \n\
268 ! To display a randomized slideshow of images, you can do something like this:
270 ! default-n: xv -root -rmode 5 image-1.gif -quit
271 ! default-n: xv -root -rmode 5 image-2.gif -quit
272 ! default-n: xv -root -rmode 5 image-3.gif -quit
275 ! Note that we've used "default-n" as the visual name, rather than just
276 ! "default": this means "default visual, no install", that is, it's like
277 ! specifying the command-line arguments "-visual default -no-install".
278 ! This is necessary because, when XV is running in "-root" mode, it always
279 ! assumes that the default visual and colormap are being used, rather than
280 ! examining the window it is drawing on to see what visual and colormap it
281 ! has. If we didn't force the default visual to be used, xv would get an
282 ! X error. If we didn't force the default colormap to be installed, the
283 ! colors would be all wrong. "default-i" may also be used as a visual name
284 ! (meaning, "-visual default -install") but you probably won't ever need
287 ! XEarth is nice, too:
289 ! default-n: xearth -nostars -wait 0 -timewarp 400 -pos sunrel/38/-30
292 ! Some of the GL demos that SGI ships work with XScreenSaver; most don't.
293 ! XScreenSaver includes a program (not built or installed by default)
294 ! called "xscreensaver-sgigl". To use the SGI demos with XScreenSaver,
295 ! build that program, and use it to launch the SGI demos. For example,
296 ! on Irix 6.2, you can do this:
298 ! xscreensaver-sgigl /usr/demos/bin/ep -S
299 ! xscreensaver-sgigl /usr/demos/bin/bongo
301 ! On Irix 6.3, things have moved, so you need to do it like this:
303 ! xscreensaver-sgigl /usr/sbin/ep -S
305 ! You can also use the "ant" demo, but first you need to wrap a shell script
306 ! around it that cds to its home directory, so that it can find its files;
307 ! and also pass it the -S argument, to prevent it from forking.
310 ! Also, since these actually end up mapping their own windows instead of
311 ! drawing on the XScreenSaver-provided root, when they are being run from
312 ! demo-mode, you can't pop up the demo-mode dialog just by clicking the
313 ! mouse: you must first type ESC to make the SGI programs exit. This sucks.
314 ! Things should work properly when they are being run by xscreensaver in
315 ! non-demo-mode, however.
317 ! Basically, the SGI demo writers went out of their way to make my life hell.
321 !=============================================================================
323 ! You probably don't want to change anything after this point.
325 !=============================================================================
328 XScreenSaver.pointerPollTime: 5
329 XScreenSaver.initialDelay: 0
330 XScreenSaver.windowCreationTimeout: 30
331 XScreenSaver.bourneShell: /bin/sh
334 ! Resources for the password and splash-screen dialog boxes of
335 ! the "xscreensaver" daemon.
337 *Dialog.headingFont: *-times-bold-r-*-*-*-180-*-*-*-iso8859-1
338 *Dialog.bodyFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
339 *Dialog.labelFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
340 *Dialog.buttonFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
341 *Dialog.foreground: #000000
342 *Dialog.background: #BFBFBF
343 *Dialog.Button.foreground: #000000
344 *Dialog.Button.background: #D0D0D0
345 *Dialog.text.foreground: #000000
346 *Dialog.text.background: #FFFFFF
347 *Dialog.logo.foreground: #FF0000
348 *Dialog.logo.background: #FFFFFF
349 *Dialog.topShadowColor: #E7E7E7
350 *Dialog.bottomShadowColor: #737373
351 *Dialog.logo.width: 200
352 *Dialog.logo.height: 200
353 *Dialog.internalBorderWidth: 30
354 *Dialog.borderWidth: 1
355 *Dialog.shadowThickness: 4
357 *passwd.heading.label: XScreenSaver %s
358 *passwd.body.label: This display is locked.
359 *passwd.user.label: User:
360 *passwd.passwd.label: Password:
361 *passwd.passwdFont: *-courier-medium-r-*-*-*-140-*-*-*-iso8859-1
362 *passwd.thermometer.width: 8
364 *splash.heading.label: XScreenSaver %s
365 *splash.body.label: Copyright © 1991-1999 by
366 *splash.body2.label: Jamie Zawinski <jwz@jwz.org>
367 *splash.demo.label: Demo
368 *splash.prefs.label: Prefs
369 *splash.help.label: Help
372 ! Resources for the Motif dialog boxes of the "xscreensaver-demo" program.
374 *fontList: *-helvetica-medium-r-*-*-*-120-*-*-*-iso8859-1
375 *demoDialog*label1.fontList: *-helvetica-medium-r-*-*-*-140-*-*-*-iso8859-1
376 *XmTextField.fontList: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
377 *label0.fontList: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
378 XScreenSaver*XmList.fontList: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
379 ! Need to fully-qualify the preceeding in the case of of *sgiMode.
381 *XmDialogShell*foreground: #000000
382 *XmDialogShell*background: #E5E5E5
383 *XmDialogShell*XmTextField.foreground: #000000
384 *XmDialogShell*XmTextField.background: #FFFFFF
385 *XmDialogShell*demoList.foreground: #000000
386 *XmDialogShell*demoList.background: #FFFFFF
388 *XmDialogShell.title: XScreenSaver
389 *versionWarning_popup.title: XScreenSaver Warning
390 *demoForm_popup.title: XScreenSaver Demo
391 *preferencesForm_popup.title: XScreenSaver Preferences
392 *allowShellResize: True
395 ! This doesn't work. Motif ignores it if there is a scroll-list!
396 *demoDialog.maxWidth: 600
398 *label1.labelString: XScreenSaver %s
399 *label1.label: XScreenSaver %s
400 *label2.labelString: Copyright © 1991-1999 by Jamie Zawinski <jwz@jwz.org>
401 *label2.label: Copyright © 1991-1999 by Jamie Zawinski <jwz@jwz.org>
402 *demoList.visibleItemCount: 10
403 *demoList.automaticSelection: True
404 *next.labelString: Run Next
405 *prev.labelString: Run Previous
406 *edit.labelString: Preferences
407 *restart.labelString: Reinitialize
408 *done.labelString: Quit
410 *preferencesLabel.labelString: XScreenSaver Parameters
412 *timeoutLabel.labelString: Saver Timeout
413 *cycleLabel.labelString: Cycle Timeout
414 *fadeSecondsLabel.labelString: Fade Duration
415 *fadeTicksLabel.labelString: Fade Ticks
416 *lockLabel.labelString: Lock Timeout
417 *passwdLabel.labelString: Password Timeout
418 *preferencesForm*XmTextField.columns: 8
420 *verboseToggle.labelString: Verbose
421 *cmapToggle.labelString: Install Colormap
422 *fadeToggle.labelString: Fade Colormap
423 *unfadeToggle.labelString: Unfade Colormap
424 *lockToggle.labelString: Require Password
425 *preferencesDone.labelString: OK
426 *preferencesCancel.labelString: Cancel
429 ! Disable Motif drag-and-drop in dialog boxes. This is kind of pathetic, but
430 ! in some older versions of Motif, most any attempt to drag cause immediate
431 ! flaming death from above. This *should* rip the legs off that bug.
432 ! (But sadly, Lesstif 0.86 and earlier ignore these resources *and* have
433 ! buggy drag-and-drop.)
435 XScreenSaver*dragInitiatorProtocolStyle: DRAG_NONE
436 XScreenSaver*dragReceiverProtocolStyle: DRAG_NONE
440 ! Resources for the Athena dialog boxes of the "xscreensaver-demo" program.
442 *demo_dialog.title: XScreenSaver Demo
443 *preferences_dialog.title: XScreenSaver Preferences
444 *warning_dialog.title: XScreenSaver Warning
446 ! For some reason, it doesn't size correctly by itself.
447 *demo_dialog.geometry: =640x400
449 *demo_dialog*font: *-helvetica-bold-r-*-*-*-120-*-*-*-iso8859-1
450 *preferences_dialog*font: *-helvetica-bold-r-*-*-*-120-*-*-*-iso8859-1
451 *demo_dialog*label1.font: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
452 *preferences_dialog*label1.font:*-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
453 XScreenSaver*warning_dialog*label0.font: \
454 *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
455 XScreenSaver*warning_dialog*Label.font: \
456 *-helvetica-bold-r-*-*-*-120-*-*-*-iso8859-1
457 XScreenSaver*warning_dialog*Command.font: \
458 *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
459 XScreenSaver.demo_dialog*List.font: \
460 *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
461 XScreenSaver.demo_dialog*Text*font: \
462 *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
464 XScreenSaver.demo_dialog*foreground: #000000
465 XScreenSaver.demo_dialog*background: #E5E5E5
466 XScreenSaver.demo_dialog*List.background: #FFFFFF
467 XScreenSaver.demo_dialog*Scrollbar.background: #D9D9D9
468 XScreenSaver.demo_dialog*Command.background: #D9D9D9
469 XScreenSaver.demo_dialog*Text*background: #FFFFFF
471 XScreenSaver.preferences_dialog*foreground: #000000
472 XScreenSaver.preferences_dialog*background: #E5E5E5
473 XScreenSaver.preferences_dialog*Command.background: #D9D9D9
474 XScreenSaver.preferences_dialog*Toggle.background: #D9D9D9
475 XScreenSaver.preferences_dialog*Text*background: #FFFFFF
477 XScreenSaver.warning_dialog*foreground: #000000
478 XScreenSaver.warning_dialog*background: #E5E5E5
479 XScreenSaver.warning_dialog*Command.background: #D9D9D9
481 *preferences_dialog*Dialog.value.translations: #override\n\
482 <Key>Return: beginning-of-line()\n
484 *demo_dialog*viewport.height: 200
487 *Label.borderWidth: 0
488 *preferences_dialog*Dialog.borderWidth: 0
490 *demo_dialog*next.label: Run Next
491 *demo_dialog*prev.label: Run Previous
492 *demo_dialog*edit.label: Preferences
493 *demo_dialog*restart.label: Reinitialize
494 *demo_dialog*done.label: Quit
495 XScreenSaver.demo_dialog*Command.internalWidth: 10
496 XScreenSaver.demo_dialog*Command.internalHeight: 4
498 *preferences_dialog*timeout.label: Saver Timeout:
499 *preferences_dialog*cycle.label: Cycle Timeout:
500 *preferences_dialog*fade.label: Fade Duration:
501 *preferences_dialog*ticks.label: Fade Ticks:
502 *preferences_dialog*lockTime.label: Lock Timeout:
503 *preferences_dialog*passwdTime.label: Password Timeout:
504 XScreenSaver.preferences_dialog*Command.internalWidth: 10
505 XScreenSaver.preferences_dialog*Command.internalHeight: 4
507 *preferences_dialog*label1.label: XScreenSaver Parameters
508 *preferences_dialog*buttonbox.verbose.label: Verbose
509 *preferences_dialog*buttonbox.cmap.label: Install Colormap
510 *preferences_dialog*buttonbox.fade.label: Fade Colormap
511 *preferences_dialog*buttonbox.unfade.label: Unfade Colormap
512 *preferences_dialog*buttonbox.lock.label: Require Password
513 *preferences_dialog*done.label: Ok
514 *preferences_dialog*cancel.label: Cancel
516 *warning_dialog*ok.label: Ok
518 *warning_dialog*horizDistance: 30
519 *warning_dialog*vertDistance: 0
521 *warning_dialog*Label.internalWidth: 1
522 *warning_dialog*Label.internalHeight: 0
524 *warning_dialog*label0.horizDistance: 80
525 *warning_dialog*label0.vertDistance: 20
527 *warning_dialog*Command.horizDistance: 160
528 *warning_dialog*Command.vertDistance: 20
529 *warning_dialog*Command.internalWidth: 20
530 *warning_dialog*Command.internalHeight: 5