14
.TH XScreenSaver 1 "25-Oct-2001 (3.34)" "X Version 11"
14
.TH XScreenSaver 1 "20-Mar-2005 (4.21)" "X Version 11"
16
xscreensaver - graphics hack and screen locker, launched when the user is idle
16
xscreensaver - extensible screen saver framework, plus locking
19
19
[\-display \fIhost:display.screen\fP] \
20
[\-timeout \fIint\fP] \
24
[\-lock\-timeout \fIint\fP] \
25
[\-visual \fIvisual\fP] \
32
21
[\-no\-capture\-stderr] \
37
[\-no\-mit\-extension] \
39
[\-no\-sgi\-extension] \
40
[\-xidle\-extension] \
41
[\-no\-xidle\-extension] \
42
[\-proc\-interrupts] \
43
[\-no\-proc\-interrupts] \
44
[\-xrm \fIresources\fP]
46
24
The \fIxscreensaver\fP program waits until the keyboard and mouse have been
47
25
idle for a period, and then runs a graphics demo chosen at random. It
50
28
This program can lock your terminal in order to prevent others from using it,
51
29
though its default mode of operation is merely to display pretty pictures on
52
your screen when it is not in use.
30
your screen when it is not in use.
54
The benefit that this program has over the combination of the
58
programs is the ease with which new graphics hacks can be installed. You
59
don't need to recompile (or even re-run) this program to add a new display
32
It also provides configuration and control of your monitor's power-saving
61
34
.SH GETTING STARTED
62
35
For the impatient, try this:
84
57
program, and change the settings through the GUI. The rest of this
85
58
manual page describes lower level ways of changing settings.
60
I'll repeat that because it's important:
63
The easy way to configure xscreensaver is to run the
64
.BR xscreensaver-demo (1)
65
program. You shouldn't need to know any of the stuff described
66
in \fIthis\fP manual unless you are trying to do something tricky,
67
like customize xscreensaver for site-wide use or something.
87
70
Options to \fIxscreensaver\fP are stored in one of two places: in
88
71
a \fI.xscreensaver\fP file in your home directory; or in the X resource
89
72
database. If the \fI.xscreensaver\fP file exists, it overrides any settings
107
90
If you change a setting in your X resource database, or if you want
108
91
xscreensaver to notice your changes immediately instead of the next time
109
it wakes up, then you will need to tell the running xscreensaver process
110
to re-initialize itself, like so:
112
xscreensaver-command -restart
114
Note that if you changed the \fI.Xdefaults\fP file, you might also need to run
92
it wakes up, then you will need to reload your \fI.Xdefaults\fP file,
93
and then tell the running xscreensaver process to restart itself, like so:
117
95
xrdb < ~/.Xdefaults
96
xscreensaver-command -restart
119
98
If you want to set the system-wide defaults, then make your edits to
120
99
the xscreensaver app-defaults file, which should have been installed
239
218
.B installColormap\fP (class \fBBoolean\fP)
240
Install a private colormap while the screensaver is active, so that the
241
graphics hacks can get as many colors as possible. This is the
242
default. (This only applies when the screen's default visual is being
243
used, since non-default visuals get their own colormaps automatically.)
244
This can also be overridden on a per-hack basis: see the discussion of
245
the \fBdefault\-n\fP name in the section about the \fBprograms\fP resource.
219
On PseudoColor (8-bit) displays, install a private colormap while the
220
screensaver is active, so that the graphics hacks can get as many
221
colors as possible. This is the default. (This only applies when the
222
screen's default visual is being used, since non-default visuals get
223
their own colormaps automatically.) This can also be overridden on a
224
per-hack basis: see the discussion of the \fBdefault\-n\fP name in the
225
section about the \fBprograms\fP resource.
227
This does nothing if you have a TrueColor (16-bit or deeper) display.
247
229
.B verbose\fP (class \fBBoolean\fP)
248
230
Whether to print diagnostics. Default false.
250
232
.B timestamp\fP (class \fBBoolean\fP)
251
233
Whether to print the time of day along with any other diagnostic messages.
254
236
.B splash\fP (class \fBBoolean\fP)
255
237
Whether to display a splash screen at startup. Default true.
257
239
.B splashDuration\fP (class \fBTime\fP)
258
240
How long the splash screen should remain visible; default 5 seconds.
242
.B quad\fP (class \fBBoolean\fP)
243
If true, then \fIfour\fP screensavers will be run on each monitor.
244
Use at your own risk!
260
246
.B helpURL\fP (class \fBURL\fP)
261
247
The splash screen has a \fIHelp\fP button on it. When you press it, it will
262
248
display the web page indicated here in your web browser.
264
250
.B loadURL\fP (class \fBLoadURL\fP)
265
251
This is the shell command used to load a URL into your web browser.
266
The default setting will load it into Netscape if it is already running,
267
otherwise, will launch a new Netscape looking at the \fIhelpURL\fP.
252
The default setting will load it into Mozilla/Netscape if it is already
253
running, otherwise, will launch a new browser looking at the \fIhelpURL\fP.
269
255
.B demoCommand\fP (class \fBDemoCommand\fP)
270
256
This is the shell command run when the \fIDemo\fP button on the splash window
271
is pressed. It defaults to \fIxscreensaver\-demo\fP.
257
is pressed. It defaults to
258
.BR xscreensaver\-demo (1).
273
260
.B prefsCommand\fP (class \fBPrefsCommand\fP)
274
261
This is the shell command run when the \fIPrefs\fP button on the splash window
286
.B memoryLimit\fP (class \fBMemoryLimit\fP)
287
The sub-processes created by \fIxscreensaver\fP will not be allowed to
288
allocate more than this much memory (more accurately, this is the maximum
289
size their address space may become.) If any sub-process tries to allocate
292
will fail, and the process will likely exit (or safely crash) rather than
293
going forth and hogging memory.
295
The assumption here is that if one of the screenhacks is trying to use
296
a lot of memory, then something has gone wrong, and it's better to kill
297
that program than to overload the machine.
301
273
.B fade\fP (class \fBBoolean\fP)
302
274
If this is true, then when the screensaver activates, the current contents
303
275
of the screen will fade to black instead of simply winking out. This only
304
works on displays with writable colormaps, that is, if the screen's default
305
visual is a PseudoColor visual. A fade will also be done when
306
switching graphics hacks (when the \fIcycle\fP timer expires.)
276
works on certain systems. A fade will also be done when switching graphics
277
hacks (when the \fIcycle\fP timer expires.) Default: true.
309
279
.B unfade\fP (class \fBBoolean\fP)
310
280
If this is true, then when the screensaver deactivates, the original contents
311
281
of the screen will fade in from black instead of appearing immediately. This
312
only works on displays with writable colormaps, and if \fIfade\fP is true
313
as well. Default false.
282
only works on certain systems, and if \fIfade\fP is true as well.
315
285
.B fadeSeconds\fP (class \fBTime\fP)
316
286
If \fIfade\fP is true, this is how long the fade will be in
330
300
drawn on the screensaver window itself, as well as being written to the
331
301
controlling terminal of the screensaver driver process. Default true.
303
.B ignoreUninstalledPrograms\fP (class \fBBoolean\fP)
304
There may be programs in the list that are not installed on the system,
305
yet are marked as "enabled." If this preference is true, then such
306
programs will simply be ignored. If false, then a warning will be printed
307
if an attempt is made to run the nonexistent program. Also, the
308
.BR xscreensaver-demo (1)
309
program will suppress the non-existent programs from the list if this
310
is true. Default: false.
312
.B GetViewPortIsFullOfLies\fP (class \fBBoolean\fP)
313
Set this to true if the xscreensaver window doesn't cover the whole screen.
314
This works around a longstanding XFree86 bug #421. See the
315
xscreensaver FAQ for details.
333
317
.B font\fP (class \fBFont\fP)
334
318
The font used for the stdout/stderr text, if \fBcaptureStderr\fP is true.
335
319
Default \fB*\-medium\-r\-*\-140\-*\-m\-*\fP (a 14 point fixed-width font.)
321
.B mode\fP (class \fBMode\fP)
322
Controls the behavior of xscreensaver. Legal values are:
326
When blanking the screen, select a random display mode from among those
327
that are enabled and applicable. This is the default.
330
Like \fIrandom\fP, but if there are multiple screens, each screen
331
will run the \fIsame\fP random display mode, instead of each screen
332
running a different one.
335
When blanking the screen, only ever use one particular display mode (the
336
one indicated by the \fIselected\fP setting.)
339
When blanking the screen, just go black: don't run any graphics hacks.
342
Don't ever blank the screen, and don't ever allow the monitor to power down.
346
.B selected\fP (class \fBInteger\fP)
347
When \fImode\fP is set to \fIone\fP, this is the one, indicated by its
348
index in the \fIprograms\fP list. You're crazy if you count them and
349
set this number by hand: let
350
.BR xscreensaver\-demo (1)
337
353
.B programs\fP (class \fBPrograms\fP)
338
354
The graphics hacks which \fIxscreensaver\fP runs when the user is idle.
339
The value of this resource is a string, one \fIsh\fP-syntax command per line.
340
Each line must contain exactly one command: no semicolons, no ampersands.
355
The value of this resource is a multi-line string, one \fIsh\fP-syntax
356
command per line. Each line must contain exactly one command: no
357
semicolons, no ampersands.
342
When the screensaver starts up, one of these is selected at random, and
343
run. After the \fIcycle\fP period expires, it is killed, and another
359
When the screensaver starts up, one of these is selected (according to
360
the \fBmode\fP setting), and run. After the \fIcycle\fP period
361
expires, it is killed, and another is selected and run.
346
363
If a line begins with a dash (-) then that particular program is
347
364
disabled: it won't be selected at random (though you can still select
349
366
.BR xscreensaver\-demo (1)
352
If all programs are disabled, then the screen will just be made blank.
369
If all programs are disabled, then the screen will just be made blank,
370
as when \fImode\fP is set to \fIblank\fP.
354
To disable a program, it's better to mark it as disabled with a dash
355
than to remove it from the list. This is because the system-wide
356
(app-defaults) and per-user (.xscreensaver) settings are merged
357
together, and if a user just \fIdeletes\fP an entry from their programs
358
list, but that entry still exists in the system-wide list, then it will
359
come back. However, if the user \fIdisables\fP it, then their setting
372
To disable a program, you must mark it as disabled with a dash instead
373
of removing it from the list. This is because the system-wide (app-defaults)
374
and per-user (.xscreensaver) settings are merged together, and if a user
375
just \fIdeletes\fP an entry from their programs list, but that entry still
376
exists in the system-wide list, then it will come back. However, if the
377
user \fIdisables\fP it, then their setting takes precedence.
362
379
If the display has multiple screens, then a different program will be run
363
380
for each screen. (All screens are blanked and unblanked simultaniously.)
441
458
frequently \fIxscreensaver\fP checks to see if the mouse position or buttons
442
459
have changed. Default 5 seconds.
461
.B pointerHysteresis\fP (class \fBInteger\fP)
462
If the mouse moves less than this-many pixels in a second, ignore it
463
(do not consider that to be "activity.") This is so that the screen
464
doesn't un-blank (or fail to blank) just because you bumped the desk.
444
467
.B windowCreationTimeout\fP (class \fBTime\fP)
445
468
When server extensions are not in use, this controls the delay between when
446
469
windows are created and when \fIxscreensaver\fP selects events on them.
452
475
\fIxscreensaver\fP is started during your login procedure, and the window
453
476
state may be in flux. Default 0. (This used to default to 30, but that was
454
477
back in the days when slow machines and X terminals were more common...)
456
.B sgiSaverExtension\fP (class \fBBoolean\fP)
457
480
There are a number of different X server extensions which can make
458
481
xscreensaver's job easier. The next few resources specify whether these
459
482
extensions should be utilized if they are available.
484
.B sgiSaverExtension\fP (class \fBBoolean\fP)
461
485
This resource controls whether the SGI \fBSCREEN_SAVER\fP server extension
462
486
will be used to decide whether the user is idle. This is the default
463
487
if \fIxscreensaver\fP has been compiled with support for this
519
544
it must not be \fBcsh\fP.
520
545
.SH COMMAND-LINE OPTIONS
522
also accepts the following command line options. Except for
523
the \fI\-display\fP option, these command-line options are all
524
simply shorthand for the X resources described in
525
the \fIConfiguration\fP section, above.
547
also accepts a few command-line options, mostly for use when debugging:
548
for normal operation, you should configure things via the \fI~/.xscreensaver\fP
527
551
.B \-display \fIhost:display.screen\fP
528
The X display to use. For displays with multiple screens, XScreenSaver
529
will manage all screens on the display simultaniously; the \fIscreen\fP
530
argument (the ``default'' screen) says which screen should be used for
531
dialog boxes (the password window, \fIDemo Mode\fP, etc.)
533
.B \-timeout \fIminutes\fP
534
Same as the \fItimeout\fP resource.
536
.B \-cycle \fIminutes\fP
537
Same as the \fIcycle\fP resource.
540
Same as setting the \fIlock\fP resource to \fItrue\fP.
543
Same as setting the \fIlock\fP resource to \fIfalse\fP.
545
.B \-lock\-timeout \fIminutes\fP
546
Same as the \fIlockTimeout\fP resource.
548
.B \-visual \fIvisual\fP
549
Same as the \fIvisualID\fP resource.
552
Same as setting the \fIinstallColormap\fP resource to \fItrue\fP.
555
Same as setting the \fIinstallColormap\fP resource to \fIfalse\fP.
552
The X display to use. For displays with multiple screens, XScreenSaver
553
will manage all screens on the display simultaniously.
558
Same as setting the \fIverbose\fP resource to \fItrue\fP.
561
Same as setting the \fIverbose\fP resource to \fIfalse\fP.
564
Same as setting the \fItimestamp\fP resource to \fItrue\fP.
567
Same as setting the \fIcaptureStderr\fP resource to \fItrue\fP.
569
.B \-no\-capture\-stderr
570
Same as setting the \fIcaptureStderr\fP resource to \fIfalse\fP.
573
Same as setting the \fIsplash\fP resource to \fItrue\fP.
576
Same as setting the \fIsplash\fP resource to \fIfalse\fP.
578
.B \-nice \fIinteger\fP
579
Same as the \fInice\fP resource.
582
Same as setting the \fIsgiSaverExtension\fP resource to \fItrue\fP.
584
.B \-no\-sgi\-extension
585
Same as setting the \fIsgiSaverExtension\fP resource to \fIfalse\fP.
588
Same as setting the \fImitSaverExtension\fP resource to \fItrue\fP.
590
.B \-no\-mit\-extension
591
Same as setting the \fImitSaverExtension\fP resource to \fIfalse\fP.
593
.B \-xidle\-extension
594
Same as setting the \fIxidleExtension\fP resource to \fItrue\fP.
596
.B \-no\-xidle\-extension
597
Same as setting the \fIxidleExtension\fP resource to \fIfalse\fP.
599
.B \-proc\-interrupts
600
Same as setting the \fIprocInterrupts\fP resource to \fItrue\fP.
602
.B \-no\-proc\-interrupts
603
Same as setting the \fIprocInterrupts\fP resource to \fIfalse\fP.
605
.B \-xrm \fIresource-specification\fP
606
As with all other Xt programs, you can specify X resources on the command-line
607
using the \fI\-xrm\fP argument. Most of the interesting resources have
608
command-line equivalents, however.
556
Same as setting the \fIverbose\fP resource to \fItrue\fP: print diagnostics
557
on stderr and on the xscreensaver window.
559
.B \-no-capture-stderr
560
Same as setting the \fIcaptureStderr\fP resource to \fIfalse\fP: do not
561
redirect the stdout and stderr streams to the xscreensaver window itself.
562
If xscreensaver is crashing, you might need to do this in order to see
610
565
When it is time to activate the screensaver, a full-screen black window is
611
566
created on each screen of the display. Each window is created in such a way
667
622
If you're using a laptop, don't be surprised if changing the DPMS
668
623
settings has no effect: many laptops have monitor power-saving behavior
669
624
built in at a very low level that is invisible to Unix and X. On such
670
systems, you can typically only adjust the power-saving delays by
625
systems, you can typically adjust the power-saving delays only by
671
626
changing settings in the BIOS in some hardware-specific way.
628
If DPMS seems not to be working with XFree86, make sure the "DPMS"
629
option is set in your \fI/etc/X11/XF86Config\fP file. See the
673
633
You can run \fIxscreensaver\fP from your
788
The instructions for using \fIxscreensaver\fP with
790
are almost the same as for using
792
above. There are only two differences, really: instead
793
of editing \fI/usr/lib/X11/xdm/Xsetup\fP, edit the
794
file \fI/etc/X11/gdm/Init/Default\fP; and instead of
795
editing \fI/usr/lib/X11/xdm/Xsession\fP, edit one or all of the
796
files in the \fI/etc/X11/gdm/Sessions/\fP directory. (Note that
797
the default session (\fI/etc/X11/gdm/Sessions/Default\fP) usually
798
simply executes \fI/usr/lib/X11/xdm/Xsession\fP, so be careful
799
you aren't initializing xscreensaver twice.)
801
All the same caveats apply for
748
Using xscreensaver with
750
is easy, because gdm has a configuration tool. Just fire up
752
and on the \fIBackground\fP page, type \fB"xscreensaver -nosplash"\fP into
753
the \fIBackground Program\fP field. That will cause gdm to run xscreensaver
754
while nobody is logged in, and kill it as soon as someone does log in.
755
(The user will then be responsible for starting xscreensaver on their
758
Another way to accomplish the same thing is to edit the
759
file \fI/etc/X11/gdm/gdm.conf\fP to include:
761
BackgroundProgram=xscreensaver -nosplash
762
RunBackgroundProgramAlways=true
764
In this situation, the \fIxscreensaver\fP process will probably be running
765
as user \fIgdm\fP instead of \fIroot\fP. You can configure the settings
766
for this nobody-logged-in state (timeouts, DPMS, etc.) by editing
767
the \fI~gdm/.xscreensaver\fP file.
769
To get gdm to run the BackgroundProgram, you may need to switch it from
770
the "Graphical Greeter" to the "Standard Greeter".
771
.SH USING KDE (K DESKTOP ENVIRONMENT)
772
I understand that KDE has invented their own wrapper around xscreensaver,
774
.BR xscreensaver-demo (1)
775
in any number of ways. I've never actually seen it, but I'm told that
776
this is the way you disable it:
779
\fB1: Switch off KDE's screen saver.\fP
780
Open the ``\fIControl Center\fP'' and
781
select the ``\fILook and Feel / Screensaver\fP'' page.
782
Turn off the ``\fIEnable Screensaver\fP'' checkbox.
784
\fB2: Find your Autostart directory.\fP
785
Open the ``\fILook and Feel / Desktop / Paths\fP'' page,
786
and see what your ``Autostart'' directory is set to: it will
787
probably be \fI~/.kde3/Autostart/\fP or something similar.
789
\fB3: Make xscreensaver be an Autostart program.\fP
790
Create a file in your autostart directory
791
called \fIxscreensaver.desktop\fP that contains the following five lines:
797
X-KDE-StartupNotify=false
801
Now use xscreensaver normally, controlling it via the usual
802
.BR xscreensaver-demo (1)
804
.BR xscreensaver-command (1)
805
806
.SH USING CDE (COMMON DESKTOP ENVIRONMENT)
806
807
The easiest way to use \fIxscreensaver\fP on a system with CDE is to simply
807
808
switch off the built-in CDE screensaver, and use \fIxscreensaver\fP instead;
914
.BR xscreensaver-command (1)
915
program is a perfect candidate for something to add to your window manager's
916
popup menus. If you use
920
or (probably) any of \fItwm\fP's many descendants, you can do it like this:
923
\fB1. Create ~/.mwmrc (or ~/.twmrc or ...)\fP
924
If you don't have a \fI~/.mwmrc\fP file (or, on SGIs, a \fI~/.4Dwmrc\fP file;
925
or, with twm, a \fI~/.twmrc\fP file) then create one by making a copy of
926
the \fI/usr/lib/X11/system.mwmrc\fP
927
file (or \fI/usr/lib/X11/twm/system.twmrc\fP, and so on.)
929
\fB2. Add a menu definition.\fP
934
"Blank Screen Now" !"sleep 3; xscreensaver-command -activate"
935
"Lock Screen Now" !"sleep 3; xscreensaver-command -lock"
936
"Screen Saver Demo" !"xscreensaver-demo"
937
"Screen Saver Preferences" !"xscreensaver-demo -prefs"
938
"Reinitialize Screen Saver" !"xscreensaver-command -restart"
939
"Kill Screen Saver" !"xscreensaver-command -exit"
940
"Launch Screen Saver" !"xscreensaver &"
944
\fB3. Add the menu\fP
949
find the section of the file that says \fIMenu DefaultRootMenu\fP.
952
it will probably be \fImenu "defops"\fP. If you add a line somewhere
953
in that menu definition that reads
955
"XScreenSaver" f.menu XScreenSaver
957
then this will add an XScreenSaver sub-menu to your default root-window
958
popup menu. Alternately, you could just put the xscreensaver menu items
959
directly into the root menu.
962
For Fvwm2, the process is similar: first create a \fI~/.fvwm2rc\fP file
963
if you don't already have one, by making a copy of
964
the \fI/etc/X11/fvwm2/system.fvwm2rc\fP file. Then, add a menu definition
967
AddToMenu XScreenSaver "XScreenSaver" Title
968
+ "Blank Screen Now" Exec xscreensaver-command -activate
969
+ "Lock Screen Now" Exec xscreensaver-command -lock
970
+ "Screen Saver Demo" Exec xscreensaver-command -demo
971
+ "Screen Saver Preferences" Exec xscreensaver-command -prefs
972
+ "Reinitialize Screen Saver" Exec xscreensaver-command -restart
973
+ "Kill Screen Saver" Exec xscreensaver-command -exit
974
+ "Launch Screen Saver" Exec xscreensaver
975
+ "Run Next Demo" Exec xscreensaver-command -next
976
+ "Run Previous Demo" Exec xscreensaver-command -prev
978
# To put the XScreenSaver sub-menu at the end of the root menu:
979
AddToMenu RootMenu "XScreenSaver" Popup XScreenSaver
981
The Enlightenment window manager keeps each of its menus in a separate
982
file. So, you need to create a file
983
named \fI~/.enlightenment/xscreensaver.menu\fP with the contents:
985
"XScreenSaver Commands"
986
"Blank Screen Now" NULL exec "xscreensaver-command -activate"
987
"Lock Screen Now" NULL exec "xscreensaver-command -lock"
988
"Screen Saver Demo" NULL exec "xscreensaver-command -demo"
989
"Screen Saver Prefs" NULL exec "xscreensaver-command -prefs"
990
"Reinitialize Saver" NULL exec "xscreensaver-command -restart"
991
"Kill Screen Saver" NULL exec "xscreensaver-command -exit"
992
"Launch Screen Saver" NULL exec "xscreensaver"
996
"XScreenSaver" NULL menu "xscreensaver.menu"
998
to \fI~/.enlightenment/file.menu\fP to put the XScreenSaver submenu on
999
your left-button root-window menu.
1001
As you see, every window manager does this stuff gratuitously differently,
1002
just to make your life difficult. You are in a maze of twisty menu
1003
configuration languages, all alike.
1005
914
Bugs? There are no bugs. Ok, well, maybe. If you find one, please let
1006
915
me know. http://www.jwz.org/xscreensaver/bugs.html explains how to
1165
1070
.B Machine Load
1166
1071
Although this program ``nices'' the subprocesses that it starts,
1167
1072
graphics-intensive subprograms can still overload the machine by causing
1168
the X server process itself (which is not ``niced'') to suck a lot of
1169
cycles. Care should be taken to slow down programs intended for use as
1170
screensavers by inserting strategic calls to
1174
(or making liberal use of any \fI\-delay\fP options which the programs
1177
Note that the OpenGL-based graphics demos are real pigs on machines that
1178
don't have texture hardware.
1180
Also, an active screensaver will cause your X server to be pretty much
1181
permanently swapped in; but the same is true of any program that draws
1187
.B Latency and Responsiveness
1188
If the subprocess is drawing too quickly and the connection to the X
1189
server is a slow one (such as an X terminal running over a phone line) then
1190
the screensaver might not turn off right away when the user becomes active
1193
demo has this problem if being run in full-speed mode). This can be
1194
alleviated by inserting strategic calls to
1196
in code intended for use as a screensaver. This prevents too much graphics
1197
activity from being buffered up.
1073
the X server process itself (which is not ``niced'') to consume many
1074
cycles. Care has been taken in all the modules shipped with xscreensaver
1075
to sleep periodically, and not run full tilt, so as not to cause
1078
However, if you are running the OpenGL-based screen savers on a machine
1079
that does not have a video card with 3D acceleration, they \fIwill\fP
1080
make your machine slow, despite
1083
Your options are: don't use the OpenGL display modes; or, collect the
1084
spare change hidden under the cushions of your couch, and use it to
1085
buy a video card manufactured after 1998. (It doesn't even need to be
1086
\fIfast\fP 3D hardware: the problem will be fixed if there is any
1087
3D hardware \fIat all.\fP)
1199
1089
.B XFree86's Magic Keystrokes
1200
1090
The XFree86 X server traps certain magic keystrokes before client programs ever
1206
1096
Unfortunately, there is no way for xscreensaver itself to override the
1207
1097
interpretation of these keys. If you want to disable Ctrl+Alt+Backspace
1208
1098
globally, you need to set the \fIDontZap\fP flag in
1209
your \fI/etc/X11/XF86Config\fP file. See the
1099
your \fI/etc/X11/XF86Config\fP file. To globally disable VT switching,
1100
you can set the \fIDontVTSwitch\fP flag. See the
1210
1101
.BR XF86Config (5)
1211
1102
manual for details.
1213
There is no way (as far as I can tell) to disable the VT-switching keystrokes.
1215
Some Linux systems come with a VT_LOCKSWITCH ioctl, that one could
1216
theoretically use to prevent VT-switching while the screen is locked;
1217
but unfortunately, this ioctl can only be used by root, which means
1218
that xscreensaver can't use it (since xscreensaver disavows its privileges
1219
shortly after startup, for security reasons.)
1221
Any suggestions for other solutions to this problem are welcome.
1224
Apparently there are some problems with XView programs getting confused
1225
and thinking that the screensaver window is the real root window even when
1226
the screensaver is not active: ClientMessages intended for the window manager
1227
are sent to the screensaver window instead. This could be solved by making
1228
xscreensaver forward all unrecognised ClientMessages to the real root window,
1229
but there may be other problems as well. If anyone has any insight on the
1230
cause of this problem, please let me know. (XView is an X11 toolkit that
1231
implements the (quite abominable) Sun OpenLook look-and-feel.)
1233
1104
.B MIT Extension and Fading
1234
1105
The \fBMIT-SCREEN-SAVER\fP extension is junk. Don't use it.
1245
1116
extension in XFree86; it's dead simple, and works far better than the
1246
1117
overengineered and broken \fBMIT-SCREEN-SAVER\fP extension.
1249
If you're running Irix 6.3, you might find that your monitor is powering down
1250
after an hour or two even if you've told it not to. This is fixed by SGI
1251
patches 2447 and 2537.
1253
If you're running Irix 6.5, this bug is back. I don't know a fix.
1255
.B MesaGL and Voodoo Cards
1256
If you have a 3Dfx/Voodoo card, the default settings for xscreensaver will
1257
run the GL-based graphics demos in such a way that they will not take
1258
advantage of the 3D acceleration hardware. The solution is to change
1259
the \fBprograms\fP entries for the GL hacks from this:
1265
MESA_GLX_FX=fullscreen gears \\n\\
1267
That is, make sure that \fB$MESA_GLX_FX\fP is set to \fIfullscreen\fP, and
1268
don't tell the program to draw on the root window. This may seem strange,
1269
but the setup used by Mesa and these kinds of cards \fIis\fP strange!
1271
For those who don't know, these cards work by sitting between your normal
1272
video card and the monitor, and seizing control of the monitor when it's
1273
time to do 3D. But this means that accelerated 3D only happens in full-screen
1274
mode (you can't do it in a window, and you can't see the output of 3D and 2D
1275
programs simultaniously), and that 3D will probably drive your monitor at a
1276
lower resolution, as well. It's bizarre.
1278
If you find that GL programs only work properly when run as root, and not
1279
as normal users, then the problem is that your \fI/dev/3dfx\fP file is not
1280
configured properly. Check the Linux 3Dfx FAQ.
1282
1119
.B Keyboard LEDs
1283
1120
If \fIprocInterrupts\fP is on (which is the default on Linux systems) and
1284
1121
you're using some program that toggles the state of your keyboard LEDs,
1318
1151
to find the sub-programs to run.
1321
for the directory in which to read and write the \fI.xscreensaver\fP file.
1154
for the directory in which to read the \fI.xscreensaver\fP file.
1323
1156
.B XENVIRONMENT
1324
1157
to get the name of a resource file that overrides the global resources
1325
1158
stored in the RESOURCE_MANAGER property.
1327
The latest version can always be found at
1328
http://www.jwz.org/xscreensaver/
1160
The latest version of xscreensaver, an online version of this manual,
1161
and a FAQ can always be found at http://www.jwz.org/xscreensaver/
1331
1166
.BR xscreensaver\-demo (1),
1332
1167
.BR xscreensaver\-command (1),
1333
1168
.BR xscreensaver\-gl\-helper (1),
1169
.BR xscreensaver\-getimage (1),
1340
1177
.BR atlantis (1),
1341
1178
.BR attraction (1),
1342
1181
.BR blitspin (1),
1343
1182
.BR bouboule (1),
1346
1186
.BR bubble3d (1),
1347
1187
.BR bubbles (1),
1349
1192
.BR compass (1),
1351
1195
.BR critical (1),
1352
1196
.BR crystal (1),
1353
1198
.BR cynosure (1),
1354
1200
.BR decayscreen (1),
1356
1202
.BR deluxe (1),
1403
1272
.BR phosphor (1),
1274
.BR polyominoes (1),
1405
1276
.BR pulsar (1),
1408
1280
.BR rd-bomb (1),
1410
1283
.BR rorschach (1),
1413
1289
.BR sierpinski (1),
1290
.BR sierpinski3d (1),
1414
1291
.BR slidescreen (1),
1417
1295
.BR sphere (1),
1296
.BR sphereEversion (1),
1297
.BR spheremonics (1),
1418
1298
.BR spiral (1),
1419
1299
.BR spotlight (1),
1420
1300
.BR sproingies (1),
1421
1301
.BR squiral (1),
1422
1303
.BR stairs (1),
1423
1304
.BR starfish (1),
1424
1307
.BR strange (1),
1425
1308
.BR superquadrics (1),
1428
1312
.BR triangle (1),
1429
1313
.BR truchet (1),
1315
.BR vermiculate (1),
1431
1318
.BR wander (1),
1320
.BR whirlwindwarp (1),
1433
1327
.BR xflame (1),
1436
1330
.BR xmatrix (1),
1440
.BR xbouncebits (1),
1444
1331
.BR xmountains (1),
1334
.BR xspirograph (1),
1452
Copyright \(co 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
1453
by Jamie Zawinski. Permission to use, copy, modify, distribute, and sell
1454
this software and its documentation for any purpose is hereby granted without
1455
fee, provided that the above copyright notice appear in all copies and that
1456
both that copyright notice and this permission notice appear in supporting
1457
documentation. No representations are made about the suitability of this
1458
software for any purpose. It is provided "as is" without express or implied
1338
Copyright \(co 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
1339
2000, 2001, 2002, 2003, 2004, 2005 by Jamie Zawinski. Permission to use,
1340
copy, modify, distribute, and sell this software and its documentation for
1341
any purpose is hereby granted without fee, provided that the above copyright
1342
notice appear in all copies and that both that copyright notice and this
1343
permission notice appear in supporting documentation. No representations are
1344
made about the suitability of this software for any purpose. It is provided
1345
"as is" without express or implied warranty.
1461
Jamie Zawinski <jwz@jwz.org>. Written in late 1991; first posted
1462
to comp.sources.x on 13-Aug-1992.
1347
Jamie Zawinski <jwz@jwz.org>. Written in late 1991; version 1.0 posted
1348
to comp.sources.x on 17-Aug-1992.
1464
1350
Please let me know if you find any bugs or make any improvements.
1465
1351
.SH ACKNOWLEDGEMENTS