4 ! a screen saver and locker for the X window system
9 ! See "man xscreensaver" for more info. The latest version is always
10 ! available at http://people.netscape.com/jwz/xscreensaver/
26 *textForeground: Yellow
27 *textBackground: Black
29 *font: *-medium-r-*-140-*-m-*
31 ! Turning on "installColormap" interacts erratically with twm and tvtwm,
32 ! but seems to work fine with mwm and olwm. Try it and see. If your
33 ! screen turns some color other than black, the window manager is buggy,
34 ! and you need to set this resource to False (or get a WM that works.)
36 *installColormap: True
39 ! Any program which can draw on the root window will work as a screensaver.
40 ! The following resource enumerates them.
42 ! Programs are separated by newlines (specified in resource files with \n).
43 ! Lines may be continued with a lone \ at the end of the line.
45 ! Each line is an `sh' command.
47 ! But, if the first word on the line is the name of a visual followed by a
48 ! colon, then that visual will be used for the program, if it is available.
49 ! If no such visual is available, then the program will be skipped. In
50 ! this way, you can specify that you want certain programs to run only
51 ! on color screens, and others only on mono screens, by making use of the
52 ! magic visual names "color" and "mono". Likewise, if some hacks prefer
53 ! colormaps, but others prefer 24-bit windows, that also can be arranged
54 ! (in this case, by using "PseudoColor:" versus "TrueColor:".)
56 ! All programs must be launched in such a way that they draw on the root
57 ! window; they should not be spawned in the background with "&". If shell
58 ! metacharacters are used, they must be understandable to `sh', not `csh'
59 ! (the $SHELL variable is not consulted, for unfortunate but good reasons.)
61 ! Be sure to check out Demo Mode: run the command `xscreensaver-command -demo'
62 ! and it will cause the running XScreenSaver program to pop up a dialog box
63 ! that lets you try out the following programs interactively. See the man
66 *programs: qix -root -solid -delay 0 -segments 100 \n\
67 attraction -root -mode balls \n\
68 attraction -root -mode lines -points 3 -segments 200 \n\
69 attraction -root -mode splines -segments 300 \n\
70 attraction -root -mode lines -radius 300 \
75 rorschach -root -offset 7 \n\
83 blitspin -root -grab \n\
99 grav -root -trail -decay \n\
116 starfish -root -blob \n\
126 kaleidescope -root \n\
128 xlyap -root -random \n\
131 mono: rocks -root \n\
132 color: rocks -root -fg darksalmon \n\
134 mono: qix -root -linear -count 5 -size 200 -spread 30 \
135 -segments 75 -solid -xor \n\
137 color: attraction -root -mode polygons \n\
138 color: attraction -root -mode filled-splines -segments 0 \n\
139 color: attraction -root -glow -points 10 \n\
140 color: bubbles -root \n\
142 color: rd-bomb -root \n\
143 color: rd-bomb -root -speed 1 -size 0.1 \n\
145 PseudoColor: qix -root -count 4 -solid -transparent \n\
146 PseudoColor: qix -root -count 5 -solid -transparent -linear \
147 -segments 250 -size 100 \n\
149 @GL_KLUDGE_2@ gears -root \n\
150 @GL_KLUDGE_2@ superquadrics -root \n\
151 @GL_KLUDGE_2@ morph3d -root \n\
152 @GL_KLUDGE_2@ cage -root \n\
153 @GL_KLUDGE_2@ moebius -root \n\
154 @GL_KLUDGE_2@ stairs -root \n\
155 @GL_KLUDGE_2@ pipes -root \n\
156 @GL_KLUDGE_2@ sproingies -root \n\
157 @GL_KLUDGE_2@ rubik -root \n
160 ! A few of the hacks require OpenGL, and will only be built if you have it.
161 ! If your vendor doesn't provide real OpenGL, you might want to consider
162 ! building MesaGL, which is a free implementation -- GL is way cool.
164 ! Note that those hacks (gears, superquadratics, morph3d, cage, moebius,
165 ! stairs, pipes, sproingies, and rubik) tend to work best on a visual *half*
166 ! as deep as the depth of the screen, since that way, they can do
167 ! double-buffering -- try it and see, but you will probably find that you
168 ! should specify the deepest visual that is half as deep as the screen.
170 ! For example, on a screen that supports both 24-bit TrueColor and 12-bit
171 ! PseudoColor, the 12-bit visual will probably work best (this is true of
172 ! base-model SGI Indys: the 0x29 visual is the one you want.) Oddly, on SGI
173 ! O2s, (machines that have serious hardware support for GL) the 12-bit
174 ! PseudoColor visual looks awful (you get a black and white, flickery image.)
175 ! On these machines, the visual you want turns out to be 0x31 -- this is but
176 ! one of the eight 15-bit TrueColor visuals (yes, 8, and yes, 15) that O2s
177 ! provide. This is the only visual that works properly -- as far as xdpyinfo
178 ! is concerned, all of the 15-bit TrueColor visuals are identical, but some
179 ! flicker like mad, and some have deeply weird artifacts (hidden surfaces
180 ! show through!) I suppose these other visuals must be tied to some arcane
181 ! hardware feature... Your mileage, therefore, may vary dramatically.
183 ! Some other programs that you might want to track down (these work as
184 ! XScreenSaver helpers, but are not distributed with it):
186 ! xdaliclock -root -builtin2 \n\
189 ! xbouncebits ... \n\
190 ! ico -r -faces -sleep 1 -obj ico \n\
192 ! xmountains -b -M \n\
193 ! color: xfishtank -c black -d -r 2 \n\
195 ! xtacy is ok, but it only works on the default visual. We can satisfy
196 ! that constraint like so:
198 ! default: xtacy -root -delay 100 -funky -number 3 \n\
199 ! default: xtacy -root -delay 100 -gravity \n\
200 ! default: xtacy -root -delay 100 -mixer \n\
201 ! default: xtacy -root -delay 100 -taffy -pal 4 \n\
203 ! To display a randomized slideshow of images, you can do something like this:
205 ! default-n: xv -root -rmode 5 image-1.gif -quit
206 ! default-n: xv -root -rmode 5 image-2.gif -quit
207 ! default-n: xv -root -rmode 5 image-3.gif -quit
210 ! Note that we've used "default-n" as the visual name, rather than just
211 ! "default": this means "default visual, no install", that is, it's like
212 ! specifying the command-line arguments "-visual default -no-install".
213 ! This is necessary because, when XV is running in "-root" mode, it always
214 ! assumes that the default visual and colormap are being used, rather than
215 ! examining the window it is drawing on to see what visual and colormap it
216 ! has. If we didn't force the default visual to be used, xv would get an
217 ! X error. If we didn't force the default colormap to be installed, the
218 ! colors would be all wrong. "default-i" may also be used as a visual name
219 ! (meaning, "-visual default -install") but you probably won't ever need
222 ! XEarth is nice, too:
224 ! default-n: xearth -nostars -wait 0 -timewarp 400 -pos sunrel/38/-30
227 ! Some of the GL demos that SGI ships work with XScreenSaver; most don't.
228 ! XScreenSaver includes a program (not built or installed by default)
229 ! called "xscreensaver-sgigl". To use the SGI demos with XScreenSaver,
230 ! build that program, and use it to launch the SGI demos. For example,
231 ! on Irix 6.2, you can do this:
233 ! xscreensaver-sgigl /usr/demos/bin/ep -S
234 ! xscreensaver-sgigl /usr/demos/bin/bongo
235 ! xscreensaver-sgigl /usr/demos/bin/atlantis
237 ! On Irix 6.3, things have moved, so you need to do it like this:
239 ! xscreensaver-sgigl /usr/sbin/ep -S
241 ! You can also use the "ant" demo, but first you need to wrap a shell script
242 ! around it that cds to its home directory, so that it can find its files;
243 ! and also pass it the -S argument, to prevent it from forking. The "atlantis"
244 ! hack *almost* works; but since it doesn't have an option to prevent it from
245 ! forking, xscreensaver is unable to kill it, so when you come in the next
246 ! morning, you'll find dozens of "atlantis" processes still running.
249 ! Also, since these actually end up mapping their own windows instead of
250 ! drawing on the XScreenSaver-provided root, when they are being run from
251 ! demo-mode, you can't pop up the demo-mode dialog just by clicking the
252 ! mouse: you must first type ESC to make the SGI programs exit. This sucks.
253 ! Things should work properly when they are being run by xscreensaver in
254 ! non-demo-mode, however.
256 ! Basically, the SGI demo writers went out of their way to make my life hell.
260 !=============================================================================
262 ! You probably don't want to change anything after this point.
264 !=============================================================================
267 ! Resources for the Motif dialog boxes:
269 *fontList: *-helvetica-medium-r-*-*-*-120-*-*-*-iso8859-1
270 *demoDialog*label1.fontList: *-helvetica-medium-r-*-*-*-140-*-*-*-iso8859-1
271 *passwdDialog*fontList: *-helvetica-medium-r-*-*-*-140-*-*-*-iso8859-1
272 *XmList.fontList: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
273 *XmTextField.fontList: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
274 *passwdDialog.passwdText.fontList: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
276 *XmDialogShell*foreground: black
277 *XmDialogShell*background: gray90
278 *XmDialogShell*XmTextField.foreground: black
279 *XmDialogShell*XmTextField.background: white
280 *XmDialogShell*demoList.foreground: black
281 *XmDialogShell*demoList.background: white
282 *XmDialogShell*rogerLabel.foreground: red3
283 *XmDialogShell*rogerLabel.background: white
285 *XmDialogShell.title: XScreenSaver
286 *allowShellResize: True
289 ! This doesn't work. Motif ignores it if there is a scroll-list!
290 *demoDialog.maxWidth: 600
292 *label1.labelString: XScreenSaver %s
293 *label1.label: XScreenSaver %s
294 *label2.labelString: Copyright © 1991-1998 by Jamie Zawinski <jwz@netscape.com>
295 *label2.label: Copyright © 1991-1998 by Jamie Zawinski <jwz@netscape.com>
296 *demoList.visibleItemCount: 10
297 *demoList.automaticSelection: True
298 *next.labelString: Run Next
299 *prev.labelString: Run Previous
300 *edit.labelString: Edit Parameters
301 *done.labelString: Exit Demo Mode
302 *restart.labelString: Reinitialize
304 *resourcesLabel.labelString: XScreenSaver Parameters
306 *timeoutLabel.labelString: Saver Timeout
307 *cycleLabel.labelString: Cycle Timeout
308 *fadeSecondsLabel.labelString: Fade Duration
309 *fadeTicksLabel.labelString: Fade Ticks
310 *lockLabel.labelString: Lock Timeout
311 *passwdLabel.labelString: Password Timeout
312 *resourcesForm*XmTextField.columns: 8
314 *verboseToggle.labelString: Verbose
315 *cmapToggle.labelString: Install Colormap
316 *fadeToggle.labelString: Fade Colormap
317 *unfadeToggle.labelString: Unfade Colormap
318 *lockToggle.labelString: Require Password
319 *resourcesDone.labelString: Done
320 *resourcesCancel.labelString: Cancel
322 *passwdDialog.title: Password
323 *passwdLabel1.labelString: XScreenSaver %s
324 *passwdLabel2.labelString: This display is locked.
325 *passwdLabel3.labelString: Please type %s's password to unlock it.
326 *passwdDone.labelString: Done
327 *passwdCancel.labelString: Cancel
329 *passwdLabel1.alignment: ALIGNMENT_BEGINNING
330 *passwdLabel2.alignment: ALIGNMENT_BEGINNING
331 *passwdLabel3.alignment: ALIGNMENT_BEGINNING
332 *rogerLabel.width: 150
334 ! Disable Motif drag-and-drop in dialog boxes. This is kind of pathetic, but
335 ! in some older versions of Motif, most any attempt to drag cause immediate
336 ! flaming death from above. This *should* rip the legs off that bug.
338 XScreenSaver*dragInitiatorProtocolStyle: DRAG_NONE
339 XScreenSaver*dragReceiverProtocolStyle: DRAG_NONE
343 ! Resources for the dialog boxes using the abominable Athena widgets:
345 *demo_dialog*font: *-helvetica-bold-r-*-*-*-120-*-*-*-iso8859-1
346 *resources_dialog*font: *-helvetica-bold-r-*-*-*-120-*-*-*-iso8859-1
347 *passwd_dialog*font: *-helvetica-bold-r-*-*-*-120-*-*-*-iso8859-1
348 *demo_dialog*label1.font: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
349 *resources_dialog*label1.font: *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1
350 *demo_dialog*List.font: *-courier-medium-r-*-*-*-120-*-*-*-iso8859-1
352 ! This is a hack to make the typed password invisible.
353 ! Surely someone can do better than this...
354 *passwd_dialog*passwd_form.value*font: *nil*
356 *demo_dialog*foreground: black
357 *demo_dialog*background: gray90
358 *demo_dialog*List.background: white
359 *demo_dialog*Scrollbar.background: gray85
360 *demo_dialog*Command.background: gray85
362 *resources_dialog*foreground: black
363 *resources_dialog*background: gray90
364 *resources_dialog*Command.background: gray85
365 *resources_dialog*Toggle.background: gray85
366 *resources_dialog*Text*background: white
368 *resources_dialog*Dialog.value.translations: #override\n\
369 <Key>Return: beginning-of-line()\n
371 *passwd_dialog*foreground: black
372 *passwd_dialog*background: gray90
373 *passwd_dialog*Text*background: white
375 *demo_dialog*viewport.width: 400
376 *demo_dialog*viewport.height: 200
379 *Label.borderWidth: 0
380 *resources_dialog*Dialog.borderWidth: 0
382 *demo_dialog*next.label: Run Next
383 *demo_dialog*prev.label: Run Previous
384 *demo_dialog*edit.label: Edit Parameters
385 *demo_dialog*done.label: Exit Demo Mode
386 *demo_dialog*restart.label: Reinitialize
388 *resources_dialog*timeout.label: Saver Timeout:
389 *resources_dialog*cycle.label: Cycle Timeout:
390 *resources_dialog*fade.label: Fade Duration:
391 *resources_dialog*ticks.label: Fade Ticks:
392 *resources_dialog*lockTime.label: Lock Timeout:
393 *resources_dialog*passwdTime.label: Password Timeout:
395 *resources_dialog*label1.label: XScreenSaver Parameters
396 *resources_dialog*buttonbox.verbose.label: Verbose
397 *resources_dialog*buttonbox.cmap.label: Install Colormap
398 *resources_dialog*buttonbox.fade.label: Fade Colormap
399 *resources_dialog*buttonbox.unfade.label: Unfade Colormap
400 *resources_dialog*buttonbox.lock.label: Require Password
401 *resources_dialog*done.label: Done
402 *resources_dialog*cancel.label: Cancel
404 *passwd_dialog*label1.label: XScreenSaver %s
405 *passwd_dialog*label2.label: This display is locked.
406 *passwd_dialog*label3.label: Please type %s's password to unlock it.
407 *passwd_dialog*ok.label: Done
408 *passwd_dialog*cancel.label: Cancel
409 *passwd_dialog*passwd_form*label.label: Enter password:
410 *passwd_dialog*Dialog.label: Enter password:
411 *passwd_dialog*passwd_form*Text.width: 200
412 *passwd_dialog*roger.width: 150
413 *passwd_dialog*roger.height: 150
414 *passwd_dialog*roger.foreground: red3
415 *passwd_dialog*roger.background: white
416 *passwd_dialog*roger.borderWidth: 1
419 ! You probably won't need to change these. They are only used if no server
420 ! extension is in use.
424 *windowCreationTimeout: 30
426 *bourneShell: /bin/sh