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/
30 *overlayTextForeground: #FFFF00
31 *overlayTextBackground: #000000
33 *font: *-medium-r-*-140-*-m-*
35 ! This is the URL that the "Help" button on the splash screen loads.
36 *helpURL: http://www.jwz.org/xscreensaver/man.html
38 ! This is how the "Help" button loads URLs (in /bin/sh syntax.)
39 *loadURL: netscape -remote 'openURL(%s)' || netscape '%s' &
42 ! Turning on "installColormap" interacts erratically with twm and tvtwm,
43 ! but seems to work fine with mwm and olwm. Try it and see. If your
44 ! screen turns some color other than black, the window manager is buggy,
45 ! and you need to set this resource to False (or get a WM that works.)
47 *installColormap: True
50 ! Any program which can draw on the root window will work as a screensaver.
51 ! The following resource enumerates them.
53 ! Programs are separated by newlines (specified in resource files with \n).
54 ! Lines may be continued with a lone \ at the end of the line.
56 ! Each line is an `sh' command.
58 ! But, if the first word on the line is the name of a visual followed by a
59 ! colon, then that visual will be used for the program, if it is available.
60 ! If no such visual is available, then the program will be skipped. In
61 ! this way, you can specify that you want certain programs to run only
62 ! on color screens, and others only on mono screens, by making use of the
63 ! magic visual names "color" and "mono". Likewise, if some hacks prefer
64 ! colormaps, but others prefer 24-bit windows, that also can be arranged
65 ! (in this case, by using "PseudoColor:" versus "TrueColor:".)
67 ! All programs must be launched in such a way that they draw on the root
68 ! window; they should not be spawned in the background with "&". If shell
69 ! metacharacters are used, they must be understandable to `sh', not `csh'
70 ! (the $SHELL variable is not consulted, for unfortunate but good reasons.)
72 ! Be sure to check out Demo Mode: run the command `xscreensaver-command -demo'
73 ! and it will cause the running XScreenSaver program to pop up a dialog box
74 ! that lets you try out the following programs interactively. See the man
77 *programs: qix -root -solid -delay 0 -segments 100 \n\
78 attraction -root -mode balls \n\
79 attraction -root -mode lines -points 3 -segments 200 \n\
80 attraction -root -mode splines -segments 300 \n\
81 attraction -root -mode lines -radius 300 \
86 rorschach -root -offset 7 \n\
94 blitspin -root -grab \n\
110 grav -root -trail -decay \n\
127 starfish -root -blob \n\
137 kaleidescope -root \n\
142 interference -root \n\
143 truchet -root -randomize \n\
149 mono: rocks -root \n\
150 color: rocks -root -fg darksalmon \n\
152 mono: qix -root -linear -count 5 -size 200 -spread 30 \
153 -segments 75 -solid -xor \n\
155 color: attraction -root -mode polygons \n\
156 color: attraction -root -mode filled-splines -segments 0 \n\
157 color: attraction -root -glow -points 10 \n\
158 color: bubbles -root \n\
160 color: rd-bomb -root \n\
161 color: rd-bomb -root -speed 1 -size 0.1 \n\
163 PseudoColor: qix -root -count 4 -solid -transparent \n\
164 PseudoColor: qix -root -count 5 -solid -transparent -linear \
165 -segments 250 -size 100 \n\
167 @GL_KLUDGE_2@ gears -root \n\
168 @GL_KLUDGE_2@ superquadrics -root \n\
169 @GL_KLUDGE_2@ morph3d -root \n\
170 @GL_KLUDGE_2@ cage -root \n\
171 @GL_KLUDGE_2@ moebius -root \n\
172 @GL_KLUDGE_2@ stairs -root \n\
173 @GL_KLUDGE_2@ pipes -root \n\
174 @GL_KLUDGE_2@ sproingies -root \n\
175 @GL_KLUDGE_2@ rubik -root \n\
176 @GL_KLUDGE_2@ atlantis -root \n\
177 @GL_KLUDGE_2@ lament -root \n\
178 @GL_KLUDGE_2@ bubble3d -root \n
181 ! A few of the hacks require OpenGL, and will only be built if you have it.
182 ! If your vendor doesn't provide real OpenGL, you might want to consider
183 ! building MesaGL, which is a free implementation -- GL is way cool.
185 ! Note that those hacks (gears, superquadratics, morph3d, cage, moebius,
186 ! stairs, pipes, sproingies, and rubik) tend to work best on a visual *half*
187 ! as deep as the depth of the screen, since that way, they can do
188 ! double-buffering -- try it and see, but you will probably find that you
189 ! should specify the deepest visual that is half as deep as the screen.
191 ! For example, on a screen that supports both 24-bit TrueColor and 12-bit
192 ! PseudoColor, the 12-bit visual will probably work best (this is true of
193 ! base-model SGI Indys: the 0x29 visual is the one you want.) Oddly, on SGI
194 ! O2s, (machines that have serious hardware support for GL) the 12-bit
195 ! PseudoColor visual looks awful (you get a black and white, flickery image.)
196 ! On these machines, the visual you want turns out to be 0x31 -- this is but
197 ! one of the eight 15-bit TrueColor visuals (yes, 8, and yes, 15) that O2s
198 ! provide. This is the only visual that works properly -- as far as xdpyinfo
199 ! is concerned, all of the 15-bit TrueColor visuals are identical, but some
200 ! flicker like mad, and some have deeply weird artifacts (hidden surfaces
201 ! show through!) I suppose these other visuals must be tied to some arcane
202 ! hardware feature... Your mileage, therefore, may vary dramatically.
204 ! Some other programs that you might want to track down (these work as
205 ! XScreenSaver helpers, but are not distributed with it):
207 ! xdaliclock -root -builtin2 \n\
210 ! xbouncebits ... \n\
211 ! ico -r -faces -sleep 1 -obj ico \n\
213 ! xmountains -b -M \n\
214 ! color: xfishtank -c black -d -r 2 \n\
216 ! xtacy is ok, but it only works on the default visual. We can satisfy
217 ! that constraint like so:
219 ! default: xtacy -root -delay 100 -funky -number 3 \n\
220 ! default: xtacy -root -delay 100 -gravity \n\
221 ! default: xtacy -root -delay 100 -mixer \n\
222 ! default: xtacy -root -delay 100 -taffy -pal 4 \n\
224 ! To display a randomized slideshow of images, you can do something like this:
226 ! default-n: xv -root -rmode 5 image-1.gif -quit
227 ! default-n: xv -root -rmode 5 image-2.gif -quit
228 ! default-n: xv -root -rmode 5 image-3.gif -quit
231 ! Note that we've used "default-n" as the visual name, rather than just
232 ! "default": this means "default visual, no install", that is, it's like
233 ! specifying the command-line arguments "-visual default -no-install".
234 ! This is necessary because, when XV is running in "-root" mode, it always
235 ! assumes that the default visual and colormap are being used, rather than
236 ! examining the window it is drawing on to see what visual and colormap it
237 ! has. If we didn't force the default visual to be used, xv would get an
238 ! X error. If we didn't force the default colormap to be installed, the
239 ! colors would be all wrong. "default-i" may also be used as a visual name
240 ! (meaning, "-visual default -install") but you probably won't ever need
243 ! XEarth is nice, too:
245 ! default-n: xearth -nostars -wait 0 -timewarp 400 -pos sunrel/38/-30
248 ! Some of the GL demos that SGI ships work with XScreenSaver; most don't.
249 ! XScreenSaver includes a program (not built or installed by default)
250 ! called "xscreensaver-sgigl". To use the SGI demos with XScreenSaver,
251 ! build that program, and use it to launch the SGI demos. For example,
252 ! on Irix 6.2, you can do this:
254 ! xscreensaver-sgigl /usr/demos/bin/ep -S
255 ! xscreensaver-sgigl /usr/demos/bin/bongo
257 ! On Irix 6.3, things have moved, so you need to do it like this:
259 ! xscreensaver-sgigl /usr/sbin/ep -S
261 ! You can also use the "ant" demo, but first you need to wrap a shell script
262 ! around it that cds to its home directory, so that it can find its files;
263 ! and also pass it the -S argument, to prevent it from forking.
266 ! Also, since these actually end up mapping their own windows instead of
267 ! drawing on the XScreenSaver-provided root, when they are being run from
268 ! demo-mode, you can't pop up the demo-mode dialog just by clicking the
269 ! mouse: you must first type ESC to make the SGI programs exit. This sucks.
270 ! Things should work properly when they are being run by xscreensaver in
271 ! non-demo-mode, however.
273 ! Basically, the SGI demo writers went out of their way to make my life hell.
277 !=============================================================================
279 ! You probably don't want to change anything after this point.
281 !=============================================================================
284 ! Resources for the Motif dialog boxes:
286 *fontList: *-helvetica-medium-r-*-*-*-120-*-*-*-iso8859-1
287 *demoDialog*label1.fontList: *-helvetica-medium-r-*-*-*-140-*-*-*-iso8859-1
288 *passwdDialog*fontList: *-helvetica-medium-r-*-*-*-140-*-*-*-iso8859-1
289 *XmTextField.fontList: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
290 *passwdDialog.passwdText.fontList: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
291 *splashDialog*fontList: *-helvetica-bold-r-*-*-*-120-*-*-*-iso8859-1
292 *splashDialog*splashLabel1.fontList: *-times-bold-r-*-*-*-180-*-*-*-iso8859-1
293 *splashDialog*splashLabel2.fontList: *-times-bold-r-*-*-*-140-*-*-*-iso8859-1
294 *splashDialog*splashLabel3.fontList: *-times-bold-r-*-*-*-140-*-*-*-iso8859-1
295 XScreenSaver*XmList.fontList: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
296 ! Need to fully-qualify the preceeding in the case of of *sgiMode.
298 *XmDialogShell*foreground: #000000
299 *XmDialogShell*background: #E5E5E5
300 *XmDialogShell*XmTextField.foreground: #000000
301 *XmDialogShell*XmTextField.background: #FFFFFF
302 *XmDialogShell*demoList.foreground: #000000
303 *XmDialogShell*demoList.background: #FFFFFF
305 ! Need to fully-qualify the following in the case of of *sgiMode.
306 XScreenSaver*XmDialogShell*rogerLabel.foreground: #CD0000
307 XScreenSaver*XmDialogShell*rogerLabel.background: #FFFFFF
309 *XmDialogShell.title: XScreenSaver
310 *allowShellResize: True
313 ! This doesn't work. Motif ignores it if there is a scroll-list!
314 *demoDialog.maxWidth: 600
316 *label1.labelString: XScreenSaver %s
317 *label1.label: XScreenSaver %s
318 *label2.labelString: Copyright © 1991-1998 by Jamie Zawinski <jwz@jwz.org>
319 *label2.label: Copyright © 1991-1998 by Jamie Zawinski <jwz@jwz.org>
320 *demoList.visibleItemCount: 10
321 *demoList.automaticSelection: True
322 *next.labelString: Run Next
323 *prev.labelString: Run Previous
324 *edit.labelString: Preferences
325 *done.labelString: Exit Demo Mode
326 *restart.labelString: Reinitialize
328 *resourcesLabel.labelString: XScreenSaver Parameters
330 *timeoutLabel.labelString: Saver Timeout
331 *cycleLabel.labelString: Cycle Timeout
332 *fadeSecondsLabel.labelString: Fade Duration
333 *fadeTicksLabel.labelString: Fade Ticks
334 *lockLabel.labelString: Lock Timeout
335 *passwdLabel.labelString: Password Timeout
336 *resourcesForm*XmTextField.columns: 8
338 *verboseToggle.labelString: Verbose
339 *cmapToggle.labelString: Install Colormap
340 *fadeToggle.labelString: Fade Colormap
341 *unfadeToggle.labelString: Unfade Colormap
342 *lockToggle.labelString: Require Password
343 *resourcesDone.labelString: OK
344 *resourcesCancel.labelString: Cancel
346 *passwdDialog.title: Password
347 *passwdLabel1.labelString: XScreenSaver %s
348 *passwdLabel2.labelString: This display is locked.
349 *passwdLabel3.labelString: Please type %s's password to unlock it.
350 *passwdDone.labelString: OK
351 *passwdCancel.labelString: Cancel
353 *passwdLabel1.alignment: ALIGNMENT_BEGINNING
354 *passwdLabel2.alignment: ALIGNMENT_BEGINNING
355 *passwdLabel3.alignment: ALIGNMENT_BEGINNING
356 *rogerLabel.width: 150
358 *splashDialog.title: XScreenSaver
359 *splashLabel1.labelString: XScreenSaver %s
360 *splashLabel2.labelString: Copyright © 1991-1998 by
361 *splashLabel3.labelString: Jamie Zawinski <jwz@jwz.org>
362 *splashDemo.labelString: Demo
363 *splashPrefs.labelString: Prefs
364 *splashDialog*Help.labelString: Help
366 *splashLabel1.alignment: ALIGNMENT_CENTER
367 *splashLabel2.alignment: ALIGNMENT_CENTER
368 *splashLabel3.alignment: ALIGNMENT_CENTER
370 *splashDialog.borderWidth: 1
371 *splashForm.shadowThickness: 4
373 ! Disable Motif drag-and-drop in dialog boxes. This is kind of pathetic, but
374 ! in some older versions of Motif, most any attempt to drag cause immediate
375 ! flaming death from above. This *should* rip the legs off that bug.
377 XScreenSaver*dragInitiatorProtocolStyle: DRAG_NONE
378 XScreenSaver*dragReceiverProtocolStyle: DRAG_NONE
382 ! Resources for the dialog boxes using the abominable Athena widgets:
384 *demo_dialog*font: *-helvetica-bold-r-*-*-*-120-*-*-*-iso8859-1
385 *resources_dialog*font: *-helvetica-bold-r-*-*-*-120-*-*-*-iso8859-1
386 *passwd_dialog*font: *-helvetica-bold-r-*-*-*-120-*-*-*-iso8859-1
387 *splash_dialog*font: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
388 *splash_dialog*splashLabel1.font: *-times-bold-r-*-*-*-180-*-*-*-iso8859-1
389 *splash_dialog*splashLabel2.font: *-times-bold-r-*-*-*-140-*-*-*-iso8859-1
390 *splash_dialog*splashLabel3.font: *-times-bold-r-*-*-*-140-*-*-*-iso8859-1
391 *demo_dialog*label1.font: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
392 *resources_dialog*label1.font: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
393 XScreenSaver.demo_dialog*List.font: \
394 *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
395 XScreenSaver.demo_dialog*Text*font: \
396 *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
398 XScreenSaver.demo_dialog*foreground: #000000
399 XScreenSaver.demo_dialog*background: #E5E5E5
400 XScreenSaver.demo_dialog*List.background: #FFFFFF
401 XScreenSaver.demo_dialog*Scrollbar.background: #D9D9D9
402 XScreenSaver.demo_dialog*Command.background: #D9D9D9
403 XScreenSaver.demo_dialog*Text*background: #FFFFFF
405 XScreenSaver.resources_dialog*foreground: #000000
406 XScreenSaver.resources_dialog*background: #E5E5E5
407 XScreenSaver.resources_dialog*Command.background: #D9D9D9
408 XScreenSaver.resources_dialog*Toggle.background: #D9D9D9
409 XScreenSaver.resources_dialog*Text*background: #FFFFFF
411 *resources_dialog*Dialog.value.translations: #override\n\
412 <Key>Return: beginning-of-line()\n
414 XScreenSaver.passwd_dialog*foreground: #000000
415 XScreenSaver.passwd_dialog*background: #E5E5E5
416 XScreenSaver.passwd_dialog*Command.background: #D9D9D9
417 XScreenSaver.passwd_dialog*Text*background: #FFFFFF
418 XScreenSaver.passwd_dialog*roger.foreground: #CD0000
419 XScreenSaver.passwd_dialog*roger.background: #FFFFFF
421 XScreenSaver.splash_dialog*foreground: #000000
422 XScreenSaver.splash_dialog*background: #E5E5E5
423 XScreenSaver.splash_dialog*Command.background: #D9D9D9
424 XScreenSaver.splash_dialog*Text*background: #FFFFFF
425 XScreenSaver.splash_dialog*roger.foreground: #CD0000
426 XScreenSaver.splash_dialog*roger.background: #FFFFFF
428 *demo_dialog*viewport.height: 200
431 *Label.borderWidth: 0
432 *resources_dialog*Dialog.borderWidth: 0
434 *demo_dialog*next.label: Run Next
435 *demo_dialog*prev.label: Run Previous
436 *demo_dialog*edit.label: Preferences
437 *demo_dialog*done.label: Exit Demo Mode
438 *demo_dialog*restart.label: Reinitialize
439 XScreenSaver.demo_dialog*Command.internalWidth: 10
440 XScreenSaver.demo_dialog*Command.internalHeight: 4
442 *resources_dialog*timeout.label: Saver Timeout:
443 *resources_dialog*cycle.label: Cycle Timeout:
444 *resources_dialog*fade.label: Fade Duration:
445 *resources_dialog*ticks.label: Fade Ticks:
446 *resources_dialog*lockTime.label: Lock Timeout:
447 *resources_dialog*passwdTime.label: Password Timeout:
449 *resources_dialog*label1.label: XScreenSaver Parameters
450 *resources_dialog*buttonbox.verbose.label: Verbose
451 *resources_dialog*buttonbox.cmap.label: Install Colormap
452 *resources_dialog*buttonbox.fade.label: Fade Colormap
453 *resources_dialog*buttonbox.unfade.label: Unfade Colormap
454 *resources_dialog*buttonbox.lock.label: Require Password
455 *resources_dialog*done.label: OK
456 *resources_dialog*cancel.label: Cancel
458 *passwd_dialog*label1.label: XScreenSaver %s
459 *passwd_dialog*label2.label: This display is locked.
460 *passwd_dialog*label3.label: Please type %s's password to unlock it.
461 *passwd_dialog*ok.label: OK
462 *passwd_dialog*cancel.label: Cancel
463 *passwd_dialog*passwd_form*label.label:
464 *passwd_dialog*Dialog.label:
465 *passwd_dialog*passwd_form*Text.width: 200
466 *passwd_dialog*passwd_form.borderWidth: 0
467 *passwd_dialog*roger.width: 150
468 *passwd_dialog*roger.height: 150
469 *passwd_dialog*roger.borderWidth: 1
471 *splash_dialog*splashLabel1.label: XScreenSaver %s
472 *splash_dialog*splashLabel2.label: Copyright © 1991-1998 by
473 *splash_dialog*splashLabel3.label: Jamie Zawinski <jwz@jwz.org>
474 *splash_dialog*splash_form*label.label:
475 *splash_dialog*Dialog.label:
476 *splash_dialog*splash_form.borderWidth: 0
477 *splash_dialog*roger.width: 150
478 *splash_dialog*roger.height: 150
479 *splash_dialog*roger.borderWidth: 1
480 *splash_dialog*demo.label: Demo
481 *splash_dialog*prefs.label: Prefs
482 *splash_dialog*help.label: Help
483 *splash_dialog.box.defaultDistance: 0
484 *splash_dialog*splashLabel1.internalHeight: 10
485 *splash_dialog*splashLabel1.internalWidth: 10
486 *splash_dialog*splashLabel2.internalHeight: 0
487 *splash_dialog*splashLabel3.internalHeight: 0
491 ! You probably won't need to change these. They are only used if no server
492 ! extension is in use.
494 XScreenSaver.pointerPollTime: 5
495 XScreenSaver.initialDelay: 0
496 XScreenSaver.windowCreationTimeout: 30
497 XScreenSaver.bourneShell: /bin/sh