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