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\
159 kaleidescope -root \n\
161 - xlyap -root -randomize \n\
165 interference -root \n\
166 truchet -root -randomize \n\
172 rd-bomb -root -speed 1 -size 0.1 \n\
176 mono: rocks -root \n\
177 color: rocks -root -fg darksalmon \n\
179 mono: qix -root -linear -count 5 -size 200 -spread 30 \
180 -segments 75 -solid -xor \n\
182 color: attraction -root -mode polygons \n\
183 color: attraction -root -mode filled-splines -segments 0 \n\
184 color: attraction -root -glow -points 10 \n\
185 color: bubbles -root \n\
187 PseudoColor: qix -root -count 4 -solid -transparent \n\
188 PseudoColor: qix -root -count 5 -solid -transparent -linear \
189 -segments 250 -size 100 \n\
191 @GL_KLUDGE@ gears -root \n\
192 @GL_KLUDGE@ superquadrics -root \n\
193 @GL_KLUDGE@ morph3d -root \n\
194 @GL_KLUDGE@ cage -root \n\
195 @GL_KLUDGE@ moebius -root \n\
196 @GL_KLUDGE@ stairs -root \n\
197 @GL_KLUDGE@ pipes -root \n\
198 @GL_KLUDGE@ sproingies -root \n\
199 @GL_KLUDGE@ rubik -root \n\
200 @GL_KLUDGE@ atlantis -root \n\
201 @GL_KLUDGE@ lament -root \n\
202 @GL_KLUDGE@ bubble3d -root \n\
203 @GL_KLUDGE@ glplanet -root \n
206 ! A few of the hacks require OpenGL, and will only be built if you have it.
207 ! If your vendor doesn't provide real OpenGL, you might want to consider
208 ! building MesaGL, which is a free implementation -- GL is way cool.
210 ! Note that those hacks (gears, superquadratics, morph3d, cage, moebius,
211 ! stairs, pipes, sproingies, and rubik) tend to work best on a visual *half*
212 ! as deep as the depth of the screen, since that way, they can do
213 ! double-buffering -- try it and see, but you will probably find that you
214 ! should specify the deepest visual that is half as deep as the screen.
216 ! For example, on a screen that supports both 24-bit TrueColor and 12-bit
217 ! PseudoColor, the 12-bit visual will probably work best (this is true of
218 ! base-model SGI Indys: the 0x29 visual is the one you want.) Oddly, on SGI
219 ! O2s, (machines that have serious hardware support for GL) the 12-bit
220 ! PseudoColor visual looks awful (you get a black and white, flickery image.)
221 ! On these machines, the visual you want turns out to be 0x31 -- this is but
222 ! one of the eight 15-bit TrueColor visuals (yes, 8, and yes, 15) that O2s
223 ! provide. This is the only visual that works properly -- as far as xdpyinfo
224 ! is concerned, all of the 15-bit TrueColor visuals are identical, but some
225 ! flicker like mad, and some have deeply weird artifacts (hidden surfaces
226 ! show through!) I suppose these other visuals must be tied to some arcane
227 ! hardware feature... Your mileage, therefore, may vary dramatically.
229 ! Some other programs that you might want to track down (these work as
230 ! XScreenSaver helpers, but are not distributed with it):
232 ! xdaliclock -root -builtin2 \n\
235 ! xbouncebits ... \n\
236 ! ico -r -faces -sleep 1 -obj ico \n\
238 ! xmountains -b -M \n\
239 ! color: xfishtank -c black -d -r 2 \n\
241 ! xtacy is ok, but it only works on the default visual. We can satisfy
242 ! that constraint like so:
244 ! default: xtacy -root -delay 100 -funky -number 3 \n\
245 ! default: xtacy -root -delay 100 -gravity \n\
246 ! default: xtacy -root -delay 100 -mixer \n\
247 ! default: xtacy -root -delay 100 -taffy -pal 4 \n\
249 ! To display a randomized slideshow of images, you can do something like this:
251 ! default-n: xv -root -rmode 5 image-1.gif -quit
252 ! default-n: xv -root -rmode 5 image-2.gif -quit
253 ! default-n: xv -root -rmode 5 image-3.gif -quit
256 ! Note that we've used "default-n" as the visual name, rather than just
257 ! "default": this means "default visual, no install", that is, it's like
258 ! specifying the command-line arguments "-visual default -no-install".
259 ! This is necessary because, when XV is running in "-root" mode, it always
260 ! assumes that the default visual and colormap are being used, rather than
261 ! examining the window it is drawing on to see what visual and colormap it
262 ! has. If we didn't force the default visual to be used, xv would get an
263 ! X error. If we didn't force the default colormap to be installed, the
264 ! colors would be all wrong. "default-i" may also be used as a visual name
265 ! (meaning, "-visual default -install") but you probably won't ever need
268 ! XEarth is nice, too:
270 ! default-n: xearth -nostars -wait 0 -timewarp 400 -pos sunrel/38/-30
273 ! Some of the GL demos that SGI ships work with XScreenSaver; most don't.
274 ! XScreenSaver includes a program (not built or installed by default)
275 ! called "xscreensaver-sgigl". To use the SGI demos with XScreenSaver,
276 ! build that program, and use it to launch the SGI demos. For example,
277 ! on Irix 6.2, you can do this:
279 ! xscreensaver-sgigl /usr/demos/bin/ep -S
280 ! xscreensaver-sgigl /usr/demos/bin/bongo
282 ! On Irix 6.3, things have moved, so you need to do it like this:
284 ! xscreensaver-sgigl /usr/sbin/ep -S
286 ! You can also use the "ant" demo, but first you need to wrap a shell script
287 ! around it that cds to its home directory, so that it can find its files;
288 ! and also pass it the -S argument, to prevent it from forking.
291 ! Also, since these actually end up mapping their own windows instead of
292 ! drawing on the XScreenSaver-provided root, when they are being run from
293 ! demo-mode, you can't pop up the demo-mode dialog just by clicking the
294 ! mouse: you must first type ESC to make the SGI programs exit. This sucks.
295 ! Things should work properly when they are being run by xscreensaver in
296 ! non-demo-mode, however.
298 ! Basically, the SGI demo writers went out of their way to make my life hell.
302 !=============================================================================
304 ! You probably don't want to change anything after this point.
306 !=============================================================================
309 XScreenSaver.pointerPollTime: 5
310 XScreenSaver.initialDelay: 0
311 XScreenSaver.windowCreationTimeout: 30
312 XScreenSaver.bourneShell: /bin/sh
315 ! Resources for the password and splash-screen dialog boxes of
316 ! the "xscreensaver" daemon.
318 *Dialog.headingFont: *-times-bold-r-*-*-*-180-*-*-*-iso8859-1
319 *Dialog.bodyFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
320 *Dialog.labelFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
321 *Dialog.buttonFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
322 *Dialog.foreground: #000000
323 *Dialog.background: #BFBFBF
324 *Dialog.Button.foreground: #000000
325 *Dialog.Button.background: #D0D0D0
326 *Dialog.text.foreground: #000000
327 *Dialog.text.background: #FFFFFF
328 *Dialog.logo.foreground: #FF0000
329 *Dialog.logo.background: #FFFFFF
330 *Dialog.topShadowColor: #E7E7E7
331 *Dialog.bottomShadowColor: #737373
332 *Dialog.logo.width: 200
333 *Dialog.logo.height: 200
334 *Dialog.internalBorderWidth: 30
335 *Dialog.borderWidth: 1
336 *Dialog.shadowThickness: 4
338 *passwd.heading.label: XScreenSaver %s
339 *passwd.body.label: This display is locked.
340 *passwd.user.label: User:
341 *passwd.passwd.label: Password:
342 *passwd.passwdFont: *-courier-medium-r-*-*-*-140-*-*-*-iso8859-1
343 *passwd.thermometer.width: 8
345 *splash.heading.label: XScreenSaver %s
346 *splash.body.label: Copyright © 1991-1998 by
347 *splash.body2.label: Jamie Zawinski <jwz@jwz.org>
348 *splash.demo.label: Demo
349 *splash.prefs.label: Prefs
350 *splash.help.label: Help
353 ! Resources for the Motif dialog boxes of the "xscreensaver-demo" program.
355 *fontList: *-helvetica-medium-r-*-*-*-120-*-*-*-iso8859-1
356 *demoDialog*label1.fontList: *-helvetica-medium-r-*-*-*-140-*-*-*-iso8859-1
357 *XmTextField.fontList: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
358 *label0.fontList: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
359 XScreenSaver*XmList.fontList: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
360 ! Need to fully-qualify the preceeding in the case of of *sgiMode.
362 *XmDialogShell*foreground: #000000
363 *XmDialogShell*background: #E5E5E5
364 *XmDialogShell*XmTextField.foreground: #000000
365 *XmDialogShell*XmTextField.background: #FFFFFF
366 *XmDialogShell*demoList.foreground: #000000
367 *XmDialogShell*demoList.background: #FFFFFF
369 *XmDialogShell.title: XScreenSaver
370 *versionWarning_popup.title: XScreenSaver Warning
371 *demoForm_popup.title: XScreenSaver Demo
372 *preferencesForm_popup.title: XScreenSaver Preferences
373 *allowShellResize: True
376 ! This doesn't work. Motif ignores it if there is a scroll-list!
377 *demoDialog.maxWidth: 600
379 *label1.labelString: XScreenSaver %s
380 *label1.label: XScreenSaver %s
381 *label2.labelString: Copyright © 1991-1998 by Jamie Zawinski <jwz@jwz.org>
382 *label2.label: Copyright © 1991-1998 by Jamie Zawinski <jwz@jwz.org>
383 *demoList.visibleItemCount: 10
384 *demoList.automaticSelection: True
385 *next.labelString: Run Next
386 *prev.labelString: Run Previous
387 *edit.labelString: Preferences
388 *restart.labelString: Reinitialize
389 *done.labelString: Quit
391 *preferencesLabel.labelString: XScreenSaver Parameters
393 *timeoutLabel.labelString: Saver Timeout
394 *cycleLabel.labelString: Cycle Timeout
395 *fadeSecondsLabel.labelString: Fade Duration
396 *fadeTicksLabel.labelString: Fade Ticks
397 *lockLabel.labelString: Lock Timeout
398 *passwdLabel.labelString: Password Timeout
399 *preferencesForm*XmTextField.columns: 8
401 *verboseToggle.labelString: Verbose
402 *cmapToggle.labelString: Install Colormap
403 *fadeToggle.labelString: Fade Colormap
404 *unfadeToggle.labelString: Unfade Colormap
405 *lockToggle.labelString: Require Password
406 *preferencesDone.labelString: OK
407 *preferencesCancel.labelString: Cancel
410 ! Disable Motif drag-and-drop in dialog boxes. This is kind of pathetic, but
411 ! in some older versions of Motif, most any attempt to drag cause immediate
412 ! flaming death from above. This *should* rip the legs off that bug.
413 ! (But sadly, Lesstif 0.86 and earlier ignore these resources *and* have
414 ! buggy drag-and-drop.)
416 XScreenSaver*dragInitiatorProtocolStyle: DRAG_NONE
417 XScreenSaver*dragReceiverProtocolStyle: DRAG_NONE
421 ! Resources for the Athena dialog boxes of the "xscreensaver-demo" program.
423 *demo_dialog.title: XScreenSaver Demo
424 *preferences_dialog.title: XScreenSaver Preferences
425 *warning_dialog.title: XScreenSaver Warning
427 ! For some reason, it doesn't size correctly by itself.
428 *demo_dialog.geometry: =640x400
430 *demo_dialog*font: *-helvetica-bold-r-*-*-*-120-*-*-*-iso8859-1
431 *preferences_dialog*font: *-helvetica-bold-r-*-*-*-120-*-*-*-iso8859-1
432 *demo_dialog*label1.font: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
433 *preferences_dialog*label1.font:*-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
434 XScreenSaver*warning_dialog*label0.font: \
435 *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
436 XScreenSaver*warning_dialog*Label.font: \
437 *-helvetica-bold-r-*-*-*-120-*-*-*-iso8859-1
438 XScreenSaver*warning_dialog*Command.font: \
439 *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
440 XScreenSaver.demo_dialog*List.font: \
441 *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
442 XScreenSaver.demo_dialog*Text*font: \
443 *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
445 XScreenSaver.demo_dialog*foreground: #000000
446 XScreenSaver.demo_dialog*background: #E5E5E5
447 XScreenSaver.demo_dialog*List.background: #FFFFFF
448 XScreenSaver.demo_dialog*Scrollbar.background: #D9D9D9
449 XScreenSaver.demo_dialog*Command.background: #D9D9D9
450 XScreenSaver.demo_dialog*Text*background: #FFFFFF
452 XScreenSaver.preferences_dialog*foreground: #000000
453 XScreenSaver.preferences_dialog*background: #E5E5E5
454 XScreenSaver.preferences_dialog*Command.background: #D9D9D9
455 XScreenSaver.preferences_dialog*Toggle.background: #D9D9D9
456 XScreenSaver.preferences_dialog*Text*background: #FFFFFF
458 XScreenSaver.warning_dialog*foreground: #000000
459 XScreenSaver.warning_dialog*background: #E5E5E5
460 XScreenSaver.warning_dialog*Command.background: #D9D9D9
462 *preferences_dialog*Dialog.value.translations: #override\n\
463 <Key>Return: beginning-of-line()\n
465 *demo_dialog*viewport.height: 200
468 *Label.borderWidth: 0
469 *preferences_dialog*Dialog.borderWidth: 0
471 *demo_dialog*next.label: Run Next
472 *demo_dialog*prev.label: Run Previous
473 *demo_dialog*edit.label: Preferences
474 *demo_dialog*restart.label: Reinitialize
475 *demo_dialog*done.label: Quit
476 XScreenSaver.demo_dialog*Command.internalWidth: 10
477 XScreenSaver.demo_dialog*Command.internalHeight: 4
479 *preferences_dialog*timeout.label: Saver Timeout:
480 *preferences_dialog*cycle.label: Cycle Timeout:
481 *preferences_dialog*fade.label: Fade Duration:
482 *preferences_dialog*ticks.label: Fade Ticks:
483 *preferences_dialog*lockTime.label: Lock Timeout:
484 *preferences_dialog*passwdTime.label: Password Timeout:
485 XScreenSaver.preferences_dialog*Command.internalWidth: 10
486 XScreenSaver.preferences_dialog*Command.internalHeight: 4
488 *preferences_dialog*label1.label: XScreenSaver Parameters
489 *preferences_dialog*buttonbox.verbose.label: Verbose
490 *preferences_dialog*buttonbox.cmap.label: Install Colormap
491 *preferences_dialog*buttonbox.fade.label: Fade Colormap
492 *preferences_dialog*buttonbox.unfade.label: Unfade Colormap
493 *preferences_dialog*buttonbox.lock.label: Require Password
494 *preferences_dialog*done.label: Ok
495 *preferences_dialog*cancel.label: Cancel
497 *warning_dialog*ok.label: Ok
499 *warning_dialog*horizDistance: 30
500 *warning_dialog*vertDistance: 0
502 *warning_dialog*Label.internalWidth: 1
503 *warning_dialog*Label.internalHeight: 0
505 *warning_dialog*label0.horizDistance: 80
506 *warning_dialog*label0.vertDistance: 20
508 *warning_dialog*Command.horizDistance: 160
509 *warning_dialog*Command.vertDistance: 20
510 *warning_dialog*Command.internalWidth: 20
511 *warning_dialog*Command.internalHeight: 5