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\
179 @GL_KLUDGE_2@ glplanet -root \n
182 ! A few of the hacks require OpenGL, and will only be built if you have it.
183 ! If your vendor doesn't provide real OpenGL, you might want to consider
184 ! building MesaGL, which is a free implementation -- GL is way cool.
186 ! Note that those hacks (gears, superquadratics, morph3d, cage, moebius,
187 ! stairs, pipes, sproingies, and rubik) tend to work best on a visual *half*
188 ! as deep as the depth of the screen, since that way, they can do
189 ! double-buffering -- try it and see, but you will probably find that you
190 ! should specify the deepest visual that is half as deep as the screen.
192 ! For example, on a screen that supports both 24-bit TrueColor and 12-bit
193 ! PseudoColor, the 12-bit visual will probably work best (this is true of
194 ! base-model SGI Indys: the 0x29 visual is the one you want.) Oddly, on SGI
195 ! O2s, (machines that have serious hardware support for GL) the 12-bit
196 ! PseudoColor visual looks awful (you get a black and white, flickery image.)
197 ! On these machines, the visual you want turns out to be 0x31 -- this is but
198 ! one of the eight 15-bit TrueColor visuals (yes, 8, and yes, 15) that O2s
199 ! provide. This is the only visual that works properly -- as far as xdpyinfo
200 ! is concerned, all of the 15-bit TrueColor visuals are identical, but some
201 ! flicker like mad, and some have deeply weird artifacts (hidden surfaces
202 ! show through!) I suppose these other visuals must be tied to some arcane
203 ! hardware feature... Your mileage, therefore, may vary dramatically.
205 ! Some other programs that you might want to track down (these work as
206 ! XScreenSaver helpers, but are not distributed with it):
208 ! xdaliclock -root -builtin2 \n\
211 ! xbouncebits ... \n\
212 ! ico -r -faces -sleep 1 -obj ico \n\
214 ! xmountains -b -M \n\
215 ! color: xfishtank -c black -d -r 2 \n\
217 ! xtacy is ok, but it only works on the default visual. We can satisfy
218 ! that constraint like so:
220 ! default: xtacy -root -delay 100 -funky -number 3 \n\
221 ! default: xtacy -root -delay 100 -gravity \n\
222 ! default: xtacy -root -delay 100 -mixer \n\
223 ! default: xtacy -root -delay 100 -taffy -pal 4 \n\
225 ! To display a randomized slideshow of images, you can do something like this:
227 ! default-n: xv -root -rmode 5 image-1.gif -quit
228 ! default-n: xv -root -rmode 5 image-2.gif -quit
229 ! default-n: xv -root -rmode 5 image-3.gif -quit
232 ! Note that we've used "default-n" as the visual name, rather than just
233 ! "default": this means "default visual, no install", that is, it's like
234 ! specifying the command-line arguments "-visual default -no-install".
235 ! This is necessary because, when XV is running in "-root" mode, it always
236 ! assumes that the default visual and colormap are being used, rather than
237 ! examining the window it is drawing on to see what visual and colormap it
238 ! has. If we didn't force the default visual to be used, xv would get an
239 ! X error. If we didn't force the default colormap to be installed, the
240 ! colors would be all wrong. "default-i" may also be used as a visual name
241 ! (meaning, "-visual default -install") but you probably won't ever need
244 ! XEarth is nice, too:
246 ! default-n: xearth -nostars -wait 0 -timewarp 400 -pos sunrel/38/-30
249 ! Some of the GL demos that SGI ships work with XScreenSaver; most don't.
250 ! XScreenSaver includes a program (not built or installed by default)
251 ! called "xscreensaver-sgigl". To use the SGI demos with XScreenSaver,
252 ! build that program, and use it to launch the SGI demos. For example,
253 ! on Irix 6.2, you can do this:
255 ! xscreensaver-sgigl /usr/demos/bin/ep -S
256 ! xscreensaver-sgigl /usr/demos/bin/bongo
258 ! On Irix 6.3, things have moved, so you need to do it like this:
260 ! xscreensaver-sgigl /usr/sbin/ep -S
262 ! You can also use the "ant" demo, but first you need to wrap a shell script
263 ! around it that cds to its home directory, so that it can find its files;
264 ! and also pass it the -S argument, to prevent it from forking.
267 ! Also, since these actually end up mapping their own windows instead of
268 ! drawing on the XScreenSaver-provided root, when they are being run from
269 ! demo-mode, you can't pop up the demo-mode dialog just by clicking the
270 ! mouse: you must first type ESC to make the SGI programs exit. This sucks.
271 ! Things should work properly when they are being run by xscreensaver in
272 ! non-demo-mode, however.
274 ! Basically, the SGI demo writers went out of their way to make my life hell.
278 !=============================================================================
280 ! You probably don't want to change anything after this point.
282 !=============================================================================
285 ! Resources for the password and splash-screen dialog boxes.
287 *Dialog.headingFont: *-times-bold-r-*-*-*-180-*-*-*-iso8859-1
288 *Dialog.bodyFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
289 *Dialog.labelFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
290 *Dialog.buttonFont: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
291 *Dialog.foreground: #000000
292 *Dialog.background: #BFBFBF
293 *Dialog.Button.foreground: #000000
294 *Dialog.Button.background: #D0D0D0
295 *Dialog.text.foreground: #000000
296 *Dialog.text.background: #FFFFFF
297 *Dialog.logo.foreground: #FF0000
298 *Dialog.logo.background: #FFFFFF
299 *Dialog.topShadowColor: #E7E7E7
300 *Dialog.bottomShadowColor: #737373
301 *Dialog.logo.width: 200
302 *Dialog.logo.height: 200
303 *Dialog.internalBorderWidth: 30
304 *Dialog.borderWidth: 1
305 *Dialog.shadowThickness: 4
307 *passwd.heading.label: XScreenSaver %s
308 *passwd.body.label: This display is locked.
309 *passwd.user.label: User:
310 *passwd.passwd.label: Password:
311 *passwd.passwdFont: *-courier-medium-r-*-*-*-140-*-*-*-iso8859-1
312 *passwd.thermometer.width: 8
314 *splash.heading.label: XScreenSaver %s
315 *splash.body.label: Copyright © 1991-1998 by
316 *splash.body2.label: Jamie Zawinski <jwz@jwz.org>
317 *splash.demo.label: Demo
318 *splash.prefs.label: Prefs
319 *splash.help.label: Help
322 ! Resources for the Motif dialog boxes:
324 *fontList: *-helvetica-medium-r-*-*-*-120-*-*-*-iso8859-1
325 *demoDialog*label1.fontList: *-helvetica-medium-r-*-*-*-140-*-*-*-iso8859-1
326 *XmTextField.fontList: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
327 *splashDialog*fontList: *-helvetica-bold-r-*-*-*-120-*-*-*-iso8859-1
328 *splashDialog*splashLabel1.fontList: *-times-bold-r-*-*-*-180-*-*-*-iso8859-1
329 *splashDialog*splashLabel2.fontList: *-times-bold-r-*-*-*-140-*-*-*-iso8859-1
330 *splashDialog*splashLabel3.fontList: *-times-bold-r-*-*-*-140-*-*-*-iso8859-1
331 XScreenSaver*XmList.fontList: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
332 ! Need to fully-qualify the preceeding in the case of of *sgiMode.
334 *XmDialogShell*foreground: #000000
335 *XmDialogShell*background: #E5E5E5
336 *XmDialogShell*XmTextField.foreground: #000000
337 *XmDialogShell*XmTextField.background: #FFFFFF
338 *XmDialogShell*demoList.foreground: #000000
339 *XmDialogShell*demoList.background: #FFFFFF
341 ! Need to fully-qualify the following in the case of of *sgiMode.
342 XScreenSaver*XmDialogShell*rogerLabel.foreground: #CD0000
343 XScreenSaver*XmDialogShell*rogerLabel.background: #FFFFFF
345 *XmDialogShell.title: XScreenSaver
346 *allowShellResize: True
349 ! This doesn't work. Motif ignores it if there is a scroll-list!
350 *demoDialog.maxWidth: 600
352 *label1.labelString: XScreenSaver %s
353 *label1.label: XScreenSaver %s
354 *label2.labelString: Copyright © 1991-1998 by Jamie Zawinski <jwz@jwz.org>
355 *label2.label: Copyright © 1991-1998 by Jamie Zawinski <jwz@jwz.org>
356 *demoList.visibleItemCount: 10
357 *demoList.automaticSelection: True
358 *next.labelString: Run Next
359 *prev.labelString: Run Previous
360 *edit.labelString: Preferences
361 *done.labelString: Exit Demo Mode
362 *restart.labelString: Reinitialize
364 *resourcesLabel.labelString: XScreenSaver Parameters
366 *timeoutLabel.labelString: Saver Timeout
367 *cycleLabel.labelString: Cycle Timeout
368 *fadeSecondsLabel.labelString: Fade Duration
369 *fadeTicksLabel.labelString: Fade Ticks
370 *lockLabel.labelString: Lock Timeout
371 *passwdLabel.labelString: Password Timeout
372 *resourcesForm*XmTextField.columns: 8
374 *verboseToggle.labelString: Verbose
375 *cmapToggle.labelString: Install Colormap
376 *fadeToggle.labelString: Fade Colormap
377 *unfadeToggle.labelString: Unfade Colormap
378 *lockToggle.labelString: Require Password
379 *resourcesDone.labelString: OK
380 *resourcesCancel.labelString: Cancel
382 *splashDialog.title: XScreenSaver
383 *splashLabel1.labelString: XScreenSaver %s
384 *splashLabel2.labelString: Copyright © 1991-1998 by
385 *splashLabel3.labelString: Jamie Zawinski <jwz@jwz.org>
386 *splashDemo.labelString: Demo
387 *splashPrefs.labelString: Prefs
388 *splashDialog*Help.labelString: Help
390 *splashLabel1.alignment: ALIGNMENT_CENTER
391 *splashLabel2.alignment: ALIGNMENT_CENTER
392 *splashLabel3.alignment: ALIGNMENT_CENTER
394 *splashDialog.borderWidth: 1
395 *splashForm.shadowThickness: 4
397 ! Disable Motif drag-and-drop in dialog boxes. This is kind of pathetic, but
398 ! in some older versions of Motif, most any attempt to drag cause immediate
399 ! flaming death from above. This *should* rip the legs off that bug.
401 XScreenSaver*dragInitiatorProtocolStyle: DRAG_NONE
402 XScreenSaver*dragReceiverProtocolStyle: DRAG_NONE
406 ! Resources for the dialog boxes using the abominable Athena widgets:
408 *demo_dialog*font: *-helvetica-bold-r-*-*-*-120-*-*-*-iso8859-1
409 *resources_dialog*font: *-helvetica-bold-r-*-*-*-120-*-*-*-iso8859-1
410 *splash_dialog*font: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
411 *splash_dialog*splashLabel1.font: *-times-bold-r-*-*-*-180-*-*-*-iso8859-1
412 *splash_dialog*splashLabel2.font: *-times-bold-r-*-*-*-140-*-*-*-iso8859-1
413 *splash_dialog*splashLabel3.font: *-times-bold-r-*-*-*-140-*-*-*-iso8859-1
414 *demo_dialog*label1.font: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
415 *resources_dialog*label1.font: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
416 XScreenSaver.demo_dialog*List.font: \
417 *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
418 XScreenSaver.demo_dialog*Text*font: \
419 *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
421 XScreenSaver.demo_dialog*foreground: #000000
422 XScreenSaver.demo_dialog*background: #E5E5E5
423 XScreenSaver.demo_dialog*List.background: #FFFFFF
424 XScreenSaver.demo_dialog*Scrollbar.background: #D9D9D9
425 XScreenSaver.demo_dialog*Command.background: #D9D9D9
426 XScreenSaver.demo_dialog*Text*background: #FFFFFF
428 XScreenSaver.resources_dialog*foreground: #000000
429 XScreenSaver.resources_dialog*background: #E5E5E5
430 XScreenSaver.resources_dialog*Command.background: #D9D9D9
431 XScreenSaver.resources_dialog*Toggle.background: #D9D9D9
432 XScreenSaver.resources_dialog*Text*background: #FFFFFF
434 *resources_dialog*Dialog.value.translations: #override\n\
435 <Key>Return: beginning-of-line()\n
437 XScreenSaver.splash_dialog*foreground: #000000
438 XScreenSaver.splash_dialog*background: #E5E5E5
439 XScreenSaver.splash_dialog*Command.background: #D9D9D9
440 XScreenSaver.splash_dialog*Text*background: #FFFFFF
441 XScreenSaver.splash_dialog*roger.foreground: #CD0000
442 XScreenSaver.splash_dialog*roger.background: #FFFFFF
444 *demo_dialog*viewport.height: 200
447 *Label.borderWidth: 0
448 *resources_dialog*Dialog.borderWidth: 0
450 *demo_dialog*next.label: Run Next
451 *demo_dialog*prev.label: Run Previous
452 *demo_dialog*edit.label: Preferences
453 *demo_dialog*done.label: Exit Demo Mode
454 *demo_dialog*restart.label: Reinitialize
455 XScreenSaver.demo_dialog*Command.internalWidth: 10
456 XScreenSaver.demo_dialog*Command.internalHeight: 4
458 *resources_dialog*timeout.label: Saver Timeout:
459 *resources_dialog*cycle.label: Cycle Timeout:
460 *resources_dialog*fade.label: Fade Duration:
461 *resources_dialog*ticks.label: Fade Ticks:
462 *resources_dialog*lockTime.label: Lock Timeout:
463 *resources_dialog*passwdTime.label: Password Timeout:
465 *resources_dialog*label1.label: XScreenSaver Parameters
466 *resources_dialog*buttonbox.verbose.label: Verbose
467 *resources_dialog*buttonbox.cmap.label: Install Colormap
468 *resources_dialog*buttonbox.fade.label: Fade Colormap
469 *resources_dialog*buttonbox.unfade.label: Unfade Colormap
470 *resources_dialog*buttonbox.lock.label: Require Password
471 *resources_dialog*done.label: OK
472 *resources_dialog*cancel.label: Cancel
474 *splash_dialog*splashLabel1.label: XScreenSaver %s
475 *splash_dialog*splashLabel2.label: Copyright © 1991-1998 by
476 *splash_dialog*splashLabel3.label: Jamie Zawinski <jwz@jwz.org>
477 *splash_dialog*splash_form*label.label:
478 *splash_dialog*Dialog.label:
479 *splash_dialog*splash_form.borderWidth: 0
480 *splash_dialog*roger.width: 150
481 *splash_dialog*roger.height: 150
482 *splash_dialog*roger.borderWidth: 1
483 *splash_dialog*demo.label: Demo
484 *splash_dialog*prefs.label: Prefs
485 *splash_dialog*help.label: Help
486 *splash_dialog.box.defaultDistance: 0
487 *splash_dialog*splashLabel1.internalHeight: 10
488 *splash_dialog*splashLabel1.internalWidth: 10
489 *splash_dialog*splashLabel2.internalHeight: 0
490 *splash_dialog*splashLabel3.internalHeight: 0
494 ! You probably won't need to change these. They are only used if no server
495 ! extension is in use.
497 XScreenSaver.pointerPollTime: 5
498 XScreenSaver.initialDelay: 0
499 XScreenSaver.windowCreationTimeout: 30
500 XScreenSaver.bourneShell: /bin/sh