home *** CD-ROM | disk | FTP | other *** search
-
-
-
- XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((6666----JJJJaaaannnn----99995555)))) XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111))))
-
-
-
- NNNNAAAAMMMMEEEE
- xscreensaver - graphics hack and screen locker, launched
- when the user is idle
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- xxxxssssccccrrrreeeeeeeennnnssssaaaavvvveeeerrrr [-display _h_o_s_t:_d_i_s_p_l_a_y._s_c_r_e_e_n] [-timeout _i_n_t]
- [-cycle _i_n_t] [-nice _i_n_t] [-verbose] [-silent] [-xidle]
- [-no-xidle] [-lock] [-no-lock] [-lock-timeout _i_n_t] [-demo]
- [-visual _v_i_s_u_a_l] [-install] [-no-install] [-xrm _r_e_s_o_u_r_c_e_s]
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The _x_s_c_r_e_e_n_s_a_v_e_r program waits until the keyboard and mouse
- have been idle for a period, and then runs a graphics demo
- chosen at random. It turns off as soon as there is any
- mouse or keyboard activity.
-
- This program can lock your terminal in order to prevent
- others from using it, though its default mode of operation
- is merely to display pretty pictures on your screen when it
- is not in use.
-
- The benefit that this program has over the combination of
- the xxxxlllloooocccckkkk(1) and xxxxaaaauuuuttttoooolllloooocccckkkk(1) programs is the ease with
- which new graphics hacks can be installed. You don't need
- to recompile (or even re-run) this program to add a new
- display mode.
-
- OOOOPPPPTTTTIIIIOOOONNNNSSSS
- _x_s_c_r_e_e_n_s_a_v_e_r accepts the following options:
-
- ----ttttiiiimmmmeeeeoooouuuutttt _m_i_n_u_t_e_s
- The screensaver will activate after the keyboard and
- mouse have been idle for this many minutes.
-
- ----ccccyyyycccclllleeee _m_i_n_u_t_e_s
- After the screensaver has been running for this many
- minutes, the currently running sub-process will be
- killed (with SSSSIIIIGGGGTTTTEEEERRRRMMMM), and a new one started. If
- this is 0, then the sub-process will not be killed;
- only one demo will run until the screensaver is
- deactivated by user activity.
-
- ----nnnniiiicccceeee _i_n_t_e_g_e_r
- The sub-processes created by _x_s_c_r_e_e_n_s_a_v_e_r will be
- ``niced'' to this level, so that they do not consume
- cycles that are needed elsewhere.
-
- ----vvvveeeerrrrbbbboooosssseeee
- Print diagnostics.
-
- ----ssssiiiilllleeeennnntttt
-
-
-
-
- Page 1 (printed 6/30/95)
-
-
-
-
-
-
- XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((6666----JJJJaaaannnn----99995555)))) XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111))))
-
-
-
- ----xxxxiiiiddddlllleeee----eeeexxxxtttteeeennnnssssiiiioooonnnn
- Use the XXXXIIIIDDDDLLLLEEEE server extension to decide whether the
- user is idle. This is the default if _x_s_c_r_e_e_n_s_a_v_e_r
- has been compiled with support for this extension.
- On X11R4 or X11R5 systems, the XIdle method is
- faster and more reliable than what will be done
- otherwise, so use it if you can.
-
- ----nnnnoooo----xxxxiiiiddddlllleeee----eeeexxxxtttteeeennnnssssiiiioooonnnn
- Don't use the XXXXIIIIDDDDLLLLEEEE server extension.
-
- ----ssssssss----eeeexxxxtttteeeennnnssssiiiioooonnnn
- Use the MMMMIIIITTTT----SSSSCCCCRRRREEEEEEEENNNN----SSSSAAAAVVVVEEEERRRR server extension to decide
- whether the user is idle. This is the default if
- _x_s_c_r_e_e_n_s_a_v_e_r has been compiled with support for this
- extension. On X11R6 systems, the MMMMIIIITTTT----SSSSCCCCRRRREEEEEEEENNNN----SSSSAAAAVVVVEEEERRRR
- method is faster and more reliable than what will be
- done otherwise, so use it if you can.
-
- ----nnnnoooo----ssssssss----eeeexxxxtttteeeennnnssssiiiioooonnnn
- Don't use the MMMMIIIITTTT----SSSSCCCCRRRREEEEEEEENNNN----SSSSAAAAVVVVEEEERRRR server extension.
-
- ----lllloooocccckkkk Enable locking: before the screensaver will turn
- off, it requires you to type the password of the
- person who launched the screensaver, or the root
- password. (Note: this doesn't work if the
- screensaver is launched by xxxxddddmmmm(1) because it can't
- know the user-id of the logged-in user.)
-
- ----nnnnoooo----lllloooocccckkkk
- Disable locking. This is the default.
-
- ----lllloooocccckkkk----ttttiiiimmmmeeeeoooouuuutttt _m_i_n_u_t_e_s
- This is how long after the screensaver activates
- that locking is enabled. For example, if this is 5,
- then any user activity within five minutes of the
- time when the screensaver activated will cause the
- screen to unblank without requiring a password.
- After 5 minutes, a password will be required. The
- default is 0, meaning that if locking is enabled,
- then a password will be required as soon as the
- screensaver activates.
-
- ----vvvviiiissssuuuuaaaallll _v_i_s_u_a_l
- Specify which visual to use. Legal values are:
-
- bbbbeeeesssstttt Use the visual which supports the most
- writable color cells; this is the default.
-
- ddddeeeeffffaaaauuuulllltttt Use the screen's default visual (the visual
- of the root window.) This is not
- necessarily the most colorful visual, which
-
-
-
- Page 2 (printed 6/30/95)
-
-
-
-
-
-
- XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((6666----JJJJaaaannnn----99995555)))) XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111))))
-
-
-
- is why it is not the default.
-
- _c_l_a_s_s One of SSSSttttaaaattttiiiiccccGGGGrrrraaaayyyy, SSSSttttaaaattttiiiiccccCCCCoooolllloooorrrr, TTTTrrrruuuueeeeCCCCoooolllloooorrrr,
- GGGGrrrraaaayyyySSSSccccaaaalllleeee, PPPPsssseeeeuuuuddddooooCCCCoooolllloooorrrr, or DDDDiiiirrrreeeeccccttttCCCCoooolllloooorrrr.
- Selects the deepest visual of the given
- class.
-
- _n_u_m_b_e_r A number (decimal or hex) is interpreted as
- a visual id number, as reported by the
- xxxxddddppppyyyyiiiinnnnffffoooo(1) program; in this way you can
- select a shallower visual if desired.
-
- ----nnnnoooo----iiiinnnnssssttttaaaallllllll
- Use the default colormap. This is the default.
-
- ----iiiinnnnssssttttaaaallllllll
- Install a private colormap while the screensaver is
- on, so that the graphics hacks can get as many
- colors as possible.
-
- ----ddddeeeemmmmoooo Enter the interactive demo mode immediately after
- startup. Normally demo mode is invoked via the
- xxxxssssccccrrrreeeeeeeennnnssssaaaavvvveeeerrrr----ccccoooommmmmmmmaaaannnndddd(1) program.
-
- XXXX RRRREEEESSSSOOOOUUUURRRRCCCCEEEESSSS
- _x_s_c_r_e_e_n_s_a_v_e_r understands the following resources:
-
- ttttiiiimmmmeeeeoooouuuutttt (class TTTTiiiimmmmeeee)
- Same as the -_t_i_m_e_o_u_t command-line option. Default
- 10 minutes.
-
- ccccyyyycccclllleeee (class TTTTiiiimmmmeeee)
- Same as the -_c_y_c_l_e command-line option. Default 10
- minutes.
-
- nnnniiiicccceeee (class NNNNiiiicccceeee)
- Same as the -_n_i_c_e command-line option. Default 10.
-
- vvvveeeerrrrbbbboooosssseeee (class BBBBoooooooolllleeeeaaaannnn)
- Same as the -_v_e_r_b_o_s_e command-line option.
-
- xxxxiiiiddddlllleeee (class BBBBoooooooolllleeeeaaaannnn)
- Same as the -_x_i_d_l_e command-line option.
-
- lllloooocccckkkk (class BBBBoooooooolllleeeeaaaannnn)
- Same as the -_l_o_c_k command-line option.
-
- lllloooocccckkkkTTTTiiiimmmmeeeeoooouuuutttt (class TTTTiiiimmmmeeee)
- Same as the -_l_o_c_k-_t_i_m_e_o_u_t command-line option.
-
- ffffaaaaddddeeee (class BBBBoooooooolllleeeeaaaannnn)
- If this is true, then when the screensaver
-
-
-
- Page 3 (printed 6/30/95)
-
-
-
-
-
-
- XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((6666----JJJJaaaannnn----99995555)))) XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111))))
-
-
-
- activates, the current contents of the screen will
- fade to black instead of simply winking out. This
- only works on displays with writable colormaps.
- Default true. A fade will also be done when
- switching graphics hacks (when the _c_y_c_l_e timer
- expires.)
-
- uuuunnnnffffaaaaddddeeee (class BBBBoooooooolllleeeeaaaannnn)
- If this is true, then when the screensaver
- deactivates, the original contents of the screen
- will fade in from black instead of appearing
- immediately. This only works on displays with
- writable colormaps, and if _f_a_d_e is true as well.
- Default false.
-
- ffffaaaaddddeeeeSSSSeeeeccccoooonnnnddddssss (class TTTTiiiimmmmeeee)
- If _f_a_d_e is true, this is how long the fade will be
- in seconds (default 1.)
-
- ffffaaaaddddeeeeTTTTiiiicccckkkkssss (class IIIInnnntttteeeeggggeeeerrrr)
- If _f_a_d_e is true, this is how many times a second the
- colormap will be changed to effect a fade. Higher
- numbers yield smoother fades, but may make the fades
- take longer if your server isn't fast enough to keep
- up. Default 75.
-
- iiiinnnnssssttttaaaallllllllCCCCoooolllloooorrrrmmmmaaaapppp (class BBBBoooooooolllleeeeaaaannnn)
- Same as the -_i_n_s_t_a_l_l command-line option. Default
- false.
-
- ppppaaaasssssssswwwwddddTTTTiiiimmmmeeeeoooouuuutttt (class TTTTiiiimmmmeeee)
- If _l_o_c_k is true, this is how many seconds the
- password dialog box should be left on the screen
- before giving up (default 30.) This should not be
- too large: the X server is grabbed for the duration
- that the password dialog box is up (for security
- purposes) and leaving the server grabbed for too
- long can cause problems.
-
- vvvviiiissssuuuuaaaallllIIIIDDDD (class VVVViiiissssuuuuaaaallllIIIIDDDD)
- Same as the -_v_i_s_u_a_l command-line option. Default
- bbbbeeeesssstttt.
-
- ccccaaaappppttttuuuurrrreeeeSSSSttttddddeeeerrrrrrrr (class BBBBoooooooolllleeeeaaaannnn)
- Whether _x_s_c_r_e_e_n_s_a_v_e_r should redirect its standard-
- error stream to the window itself. Since its nature
- is to take over the screen, you would not normally
- see error messages generated by the screensaver or
- the programs it runs; this resource will cause the
- output of all relevant programs to be drawn on the
- screensaver window itself instead of written to the
- controlling terminal of the screensaver driver
-
-
-
- Page 4 (printed 6/30/95)
-
-
-
-
-
-
- XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((6666----JJJJaaaannnn----99995555)))) XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111))))
-
-
-
- process. Default: True.
-
- ccccaaaappppttttuuuurrrreeeeSSSSttttddddoooouuuutttt (class BBBBoooooooolllleeeeaaaannnn)
- Like ccccaaaappppttttuuuurrrreeeeSSSSttttddddeeeerrrrrrrr but for the standard-output
- stream. Default: True.
-
- ffffoooonnnntttt (class FFFFoooonnnntttt)
- The font used for the stdout/stderr text, if
- ccccaaaappppttttuuuurrrreeeeSSSSttttddddoooouuuutttt or ccccaaaappppttttuuuurrrreeeeSSSSttttddddeeeerrrrrrrr are true. Default
- ****----mmmmeeeeddddiiiiuuuummmm----rrrr----****----111144440000----****----mmmm----**** (a 14 point fixed-width
- font.)
-
- tttteeeexxxxttttFFFFoooorrrreeeeggggrrrroooouuuunnnndddd (class FFFFoooorrrreeeeggggrrrroooouuuunnnndddd)
- The foreground color used for the stdout/stderr
- text, if ccccaaaappppttttuuuurrrreeeeSSSSttttddddoooouuuutttt or ccccaaaappppttttuuuurrrreeeeSSSSttttddddeeeerrrrrrrr are true.
- Default: Yellow.
-
- tttteeeexxxxttttBBBBaaaacccckkkkggggrrrroooouuuunnnndddd (class BBBBaaaacccckkkkggggrrrroooouuuunnnndddd)
- The background color used for the stdout/stderr
- text, if ccccaaaappppttttuuuurrrreeeeSSSSttttddddoooouuuutttt or ccccaaaappppttttuuuurrrreeeeSSSSttttddddeeeerrrrrrrr are true.
- Default: Black.
-
- pppprrrrooooggggrrrraaaammmmssss (class PPPPrrrrooooggggrrrraaaammmmssss)
- The graphics hacks which _x_s_c_r_e_e_n_s_a_v_e_r runs when the
- user is idle. The value of this resource is a
- string, one _s_h command per line. Each line must
- contain exactly one command -- no semicolons.
-
- When the screensaver starts up, one of these is
- selected at random, and run. After the _c_y_c_l_e period
- expires, it is killed, and another is selected and
- run.
-
- If the value of this resource (and the applicable
- one of ccccoooolllloooorrrrPPPPrrrrooooggggrrrraaaammmmssss or mmmmoooonnnnooooPPPPrrrrooooggggrrrraaaammmmssss) is empty, then
- no programs will be run; the screen will simply be
- made black.
-
- Note that you must escape the newlines; here is an
- example of how you might set this in your ._X_d_e_f_a_u_l_t_s
- file:
-
- xscreensaver.programs: \
- qix -root \n\
- ico -r -faces -sleep 1 -obj ico \n\
- xdaliclock -builtin2 -root \n\
- xwave -root
-
- To use a program as a screensaver, two things are
- required: that that program draw on the root window
- (or be able to be configured to draw on the root
- window); and that that program understand ``virtual
-
-
-
- Page 5 (printed 6/30/95)
-
-
-
-
-
-
- XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((6666----JJJJaaaannnn----99995555)))) XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111))))
-
-
-
- root'' windows, as used by virtual window managers
- such as _t_v_t_w_m.
-
- It is quite easy to make programs understand virtual
- roots if they don't already: you merely need to
- include the file "_v_r_o_o_t._h" in them after the
- standard X includes, and recompile. This file is
- distributed with X11r5, and is included with
- xscreensaver as well.
-
- mmmmoooonnnnooooPPPPrrrrooooggggrrrraaaammmmssss (class MMMMoooonnnnooooPPPPrrrrooooggggrrrraaaammmmssss)
- This resource is appended to the value of the
- _p_r_o_g_r_a_m_s resource if the display on which the
- screensaver is running is monochrome.
-
- ccccoooolllloooorrrrPPPPrrrrooooggggrrrraaaammmmssss (class CCCCoooolllloooorrrrPPPPrrrrooooggggrrrraaaammmmssss)
- This resource is appended to the value of the
- _p_r_o_g_r_a_m_s resource if the display on which the
- screensaver is running is not monochrome.
-
- NNNNOOOOTTTTEEEE:::: tttthhhhiiiissss mmmmeeeeaaaannnnssss tttthhhhaaaatttt iiiiffff yyyyoooouuuu wwwwaaaannnntttt ttttoooo ccccoooommmmpppplllleeeetttteeeellllyyyy rrrreeeeppppllllaaaacccceeee
- tttthhhheeee lllliiiisssstttt ooooffff pppprrrrooooggggrrrraaaammmmssss wwwwhhhhiiiicccchhhh xxxxssssccccrrrreeeeeeeennnnssssaaaavvvveeeerrrr rrrruuuunnnnssss,,,, yyyyoooouuuu mmmmuuuusssstttt
- sssseeeetttt aaaatttt lllleeeeaaaasssstttt _t_w_o,,,, ppppoooossssssssiiiibbbbllllyyyy _t_h_r_e_e rrrreeeessssoooouuuurrrrcccceeeessss.... IIIItttt iiiissss nnnnooootttt
- eeeennnnoooouuuugggghhhh ttttoooo jjjjuuuusssstttt sssseeeetttt tttthhhheeee pppprrrrooooggggrrrraaaammmmssss rrrreeeessssoooouuuurrrrcccceeee -------- yyyyoooouuuu mmmmuuuusssstttt
- aaaallllssssoooo sssseeeetttt ccccoooolllloooorrrrPPPPrrrrooooggggrrrraaaammmmssss oooorrrr mmmmoooonnnnooooPPPPrrrrooooggggrrrraaaammmmssss oooorrrr bbbbooootttthhhh....
-
- Normally you won't need to change the following resources:
-
- bbbboooouuuurrrrnnnneeeeSSSShhhheeeellllllll (class BBBBoooouuuurrrrnnnneeeeSSSShhhheeeellllllll)
- The pathname of the shell that _x_s_c_r_e_e_n_s_a_v_e_r uses to
- start subprocesses. This must be whatever your
- local variant of ////bbbbiiiinnnn////sssshhhh is -- in particular, it
- must not be ccccsssshhhh.
-
- wwwwiiiinnnnddddoooowwwwCCCCrrrreeeeaaaattttiiiioooonnnnTTTTiiiimmmmeeeeoooouuuutttt (class TTTTiiiimmmmeeee)
- When _X_I_d_l_e is not in use, this controls the delay
- between when windows are created and when
- _x_s_c_r_e_e_n_s_a_v_e_r selects events on them. Default 30
- seconds.
-
- ppppooooiiiinnnntttteeeerrrrPPPPoooollllllllTTTTiiiimmmmeeee (class TTTTiiiimmmmeeee)
- When _X_I_d_l_e is not in use, this controls how
- frequently _x_s_c_r_e_e_n_s_a_v_e_r checks to see if the mouse
- position or buttons have changed. Default 5
- seconds.
-
- iiiinnnniiiittttiiiiaaaallllDDDDeeeellllaaaayyyy (class TTTTiiiimmmmeeee)
- When _X_I_d_l_e is not in use, _x_s_c_r_e_e_n_s_a_v_e_r will wait
- this many seconds before selecting events on
- existing windows, under the assumption that
- _x_s_c_r_e_e_n_s_a_v_e_r is started during your login procedure,
- and the window state may be in flux. Default 30
-
-
-
- Page 6 (printed 6/30/95)
-
-
-
-
-
-
- XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((6666----JJJJaaaannnn----99995555)))) XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111))))
-
-
-
- seconds.
-
- HHHHOOOOWWWW IIIITTTT WWWWOOOORRRRKKKKSSSS
- When it is time to activate the screensaver, a full-screen
- black window is created. This window is given the
- appropriate properties so that, to any subsequently-created
- programs, it will appear to be a ``virtual root'' window.
- Because of this, any program which draws on the root window
- (and which understands virtual roots) can be used as a
- screensaver.
-
- When the user becomes active again, the screensaver window
- is unmapped and the running subprocess is killed by sending
- it SSSSIIIIGGGGTTTTEEEERRRRMMMM. This is also how the subprocesses are killed
- when the screensaver decides that it's time to run a
- different demo: the old one is killed and a new one is
- launched.
-
- Before launching a subprocess, _x_s_c_r_e_e_n_s_a_v_e_r stores an
- appropriate value for $$$$DDDDIIIISSSSPPPPLLLLAAAAYYYY in the environment that the
- child will recieve. (This is so that if you start
- _x_s_c_r_e_e_n_s_a_v_e_r with a -_d_i_s_p_l_a_y argument, the programs which
- _x_s_c_r_e_e_n_s_a_v_e_r launches will draw on the same display.)
-
- When the screensaver turns off, or is killed, care is taken
- to restore the ``real'' virtual root window if there is one.
- Because of this, it is important that you not kill the
- screensaver process with _k_i_l_l -_9 if you are running a
- virtual-root window manager. If you kill it with -9, you
- may need to restart your window manager to repair the
- damage. This isn't an issue if you aren't running a
- virtual-root window manager.
-
- For all the gory details, see the commentary at the top of
- xscreensaver.c.
-
- You can control a running screensaver process by using the
- xxxxssssccccrrrreeeeeeeennnnssssaaaavvvveeeerrrr----ccccoooommmmmmmmaaaannnndddd(1) program (which see.)
-
- EEEENNNNVVVVIIIIRRRROOOONNNNMMMMEEEENNNNTTTT
- DDDDIIIISSSSPPPPLLLLAAAAYYYY to get the default host and display number.
-
- XXXXEEEENNNNVVVVIIIIRRRROOOONNNNMMMMEEEENNNNTTTT
- to get the name of a resource file that overrides
- the global resources stored in the RESOURCE_MANAGER
- property.
-
- UUUUSSSSIIIINNNNGGGG XXXXDDDDMMMM((((1111))))
- You can run _x_s_c_r_e_e_n_s_a_v_e_r from your xdm session, so that the
- screensaver will run even when nobody is logged in on the
- console. Simply add """"xxxxssssccccrrrreeeeeeeennnnssssaaaavvvveeeerrrr &&&&"""" to your
- /_u_s_r/_l_i_b/_X_1_1/_x_d_m/_X_s_e_t_u_p file. Because _x_d_m grabs the
-
-
-
- Page 7 (printed 6/30/95)
-
-
-
-
-
-
- XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((6666----JJJJaaaannnn----99995555)))) XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111))))
-
-
-
- keyboard, keypresses will not make the screensaver
- deactivate, but any mouse activity will.
-
- Users may want to add """"xxxxssssccccrrrreeeeeeeennnnssssaaaavvvveeeerrrr----ccccoooommmmmmmmaaaannnndddd ----rrrreeeessssttttaaaarrrrtttt"""" to
- their startup scripts, so that the screensaver will be
- reinitialized with their private resource settings when they
- log in.
-
- It is safe to run this program as root (as _x_d_m is likely to
- do.) If run as root, _x_s_c_r_e_e_n_s_a_v_e_r changes its effective
- user and group ids to something safe (like "_n_o_b_o_d_y") before
- connecting to the X server or launching user-specified
- programs.
-
- Locking doesn't work if the screensaver is launched by _x_d_m.
- To get around this, you can run the screensaver from _x_d_m
- without locking, and kill and restart it from your personal
- X startup script to enable locking.
-
- DDDDEEEEMMMMOOOO MMMMOOOODDDDEEEE
- If _x_s_c_r_e_e_n_s_a_v_e_r receives the DDDDEEEEMMMMOOOO ClientMessage, it pops up
- a dialog box from which you can examine and experiment with
- the screensaver's client programs.
-
- Clicking left on an element in the scrolling list will place
- the indicated program and its args in the text field to be
- edited. Edit the arguments and hit return to run the
- program with the parameters you have specified.
-
- Double-clicking on an element in the scrolling list will run
- the indicated program immediately.
-
- When a client program is launched, the dialog box is hidden.
- Clicking any mouse button will re-expose the dialog box (but
- will not kill the client program.)
-
- RRRRuuuunnnn NNNNeeeexxxxtttt
- Clicking this button will run the next program in
- the list after the currently-selected one, and will
- scroll around to the top when it reaches the bottom.
-
- RRRRuuuunnnn PPPPrrrreeeevvvviiiioooouuuussss
- Opposite of Run Next; at the top, it scrolls around
- to the bottom.
-
- EEEEddddiiiitttt PPPPaaaarrrraaaammmmeeeetttteeeerrrrssss
- This pops up a second dialog box, in which you have
- the option to interactively change most of the
- screensaver's operational parameters, such as its
- timeouts, and whether it should hack colormaps.
- Changing these parameters here will affect only the
- running _x_s_c_r_e_e_n_s_a_v_e_r process; to make the changes
-
-
-
- Page 8 (printed 6/30/95)
-
-
-
-
-
-
- XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((6666----JJJJaaaannnn----99995555)))) XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111))))
-
-
-
- permanent, you need to edit your X resource file.
-
- EEEExxxxiiiitttt DDDDeeeemmmmoooo MMMMooooddddeeee
- Returns to normal screensaver operation.
-
- RRRReeeeiiiinnnniiiittttiiiiaaaalllliiiizzzzeeee
- Causes the screensaver process to exit and then
- restart with the same command-line arguments. This
- causes the X resource database to be re-read. This
- is just like the -_r_e_s_t_a_r_t argument to
- xxxxssssccccrrrreeeeeeeennnnssssaaaavvvveeeerrrr----ccccoooommmmmmmmaaaannnndddd(1) except that when executed
- from this button, the screensaver will automatically
- return to demo mode after restarting.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- XXXX(1), xxxxssssccccrrrreeeeeeeennnnssssaaaavvvveeeerrrr----ccccoooommmmmmmmaaaannnndddd(1), xxxxlllloooocccckkkk(1), xxxxnnnnlllloooocccckkkk(1),
- xxxxaaaauuuuttttoooolllloooocccckkkk(1), xxxxddddmmmm(1), qqqqiiiixxxx(1), ppppyyyyrrrroooo(1), hhhheeeelllliiiixxxx(1),
- rrrroooorrrrsssscccchhhhaaaacccchhhh(1), hhhhooooppppaaaalllloooonnnngggg(1), aaaattttttttrrrraaaaccccttttiiiioooonnnn(1), ggggrrrreeeeyyyynnnneeeettttiiiicccc(1),
- rrrroooocccckkkkssss(1), nnnnoooosssseeeegggguuuuyyyy(1), bbbblllliiiittttssssppppiiiinnnn(1), iiiimmmmssssmmmmaaaapppp(1),
- sssslllliiiiddddeeeessssccccrrrreeeeeeeennnn(1), ddddeeeeccccaaaayyyyssssccccrrrreeeeeeeennnn(1), hhhhyyyyppppeeeerrrrccccuuuubbbbeeee(1), ffffllllaaaammmmeeee(1),
- mmmmaaaazzzzeeee(1), iiiiccccoooo(1), xxxxddddaaaalllliiiicccclllloooocccckkkk(1), xxxxbbbboooouuuunnnncccceeeebbbbiiiittttssss(1), xxxxsssswwwwaaaarrrrmmmm(1),
- xxxxwwwwaaaavvvveeee(1), xxxxffffiiiisssshhhhttttaaaannnnkkkk(1)
-
- BBBBUUUUGGGGSSSS
- If you think you have changed the pppprrrrooooggggrrrraaaammmmssss resource but the
- screensaver is ignoring it, you are confused -- you need to
- set the ccccoooolllloooorrrrPPPPrrrrooooggggrrrraaaammmmssss and/or mmmmoooonnnnooooPPPPrrrrooooggggrrrraaaammmmssss resources as well.
- (This is not a bug, but I mention it here because people
- think that it is with great regularity.)
-
- If you are not making use of one of the server extensions
- (XXXXIIIIDDDDLLLLEEEE or MMMMIIIITTTT----SSSSCCCCRRRREEEEEEEENNNN----SSSSAAAAVVVVEEEERRRR), then it is possible, in rare
- situations, for _x_s_c_r_e_e_n_s_a_v_e_r to interfere with event
- propagation and make another X program malfunction. For
- this to occur, that other application would need to _n_o_t
- select KKKKeeeeyyyyPPPPrrrreeeessssssss events on its non-leaf windows within the
- first 30 seconds of their existence, but then select for
- them later. In this case, that client _m_i_g_h_t fail to receive
- those events. This isn't very likely, since programs
- generally select a constant set of events immediately after
- creating their windows and then don't change them, but this
- is the reason that it's a good idea to install and use one
- of the server extensions instead, to work around this
- shortcoming in the X protocol.
-
- Although this program ``nices'' the subprocesses that it
- starts, graphics-intensive subprograms can still overload
- the machine by causing the X server process itself (which is
- not ``niced'') to suck a lot of cycles. Care should be
- taken to slow down programs intended for use as screensavers
- by inserting strategic calls to sssslllleeeeeeeepppp(3) or uuuusssslllleeeeeeeepppp(3)
-
-
-
-
- Page 9 (printed 6/30/95)
-
-
-
-
-
-
- XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((6666----JJJJaaaannnn----99995555)))) XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111))))
-
-
-
- Also, it will cause your X server to be pretty much
- permanently swapped in. (but the same is true of any
- program that draws periodically, like xclock or xload.)
-
- If the subprocess is drawing too quickly and the connection
- to the X server is a slow one (such as an X terminal running
- over a phone line) then the screensaver might not turn off
- right away when the user becomes active again (the iiiiccccoooo(1)
- demo has this problem if being run in full-speed mode).
- This can be alleviated by inserting strategic calls to
- XXXXSSSSyyyynnnncccc(3) in code intended for use as a screensaver. This
- prevents too much graphics activity from being buffered up.
-
- The screensaver only runs on the default screen of the
- display. If you have more than one screen, you can run
- multiple screensaver processes, one for each screen. This
- interacts poorly with locking. In an ideal world, the
- screensaver would save (and lock) both screens
- simultaniously, and any activity would restore both screens.
- It would be nice if one could run different hacks on each
- screen simultaniously. However, I don't have access to a
- multi-headed workstation, so it would be hard for me to
- implement something like this.
-
- If you don't have Motif, you can't compile with support for
- locking or demo mode.
-
- Locking doesn't work if the screensaver is launched by _x_d_m.
- The reason for this is that when it is launched by _x_d_m, the
- screensaver process is owned by some standard user id (such
- as _r_o_o_t or _d_a_e_m_o_n) instead of the user who is logged in on
- the console. In order for the screensaver to prompt for the
- password of the person who had logged in from _x_d_m, it would
- need to know who that user was, and there is no reliable and
- safe way to figure that out. (And even if there was, there
- would be some other security issues here as well.)
-
- So if you want to use it as a locker, you must start it with
- your user id. If it has already been started by _x_d_m, you
- can kill it with xxxxssssccccrrrreeeeeeeennnnssssaaaavvvveeeerrrr----ccccoooommmmmmmmaaaannnndddd ----eeeexxxxiiiitttt, and then start
- it again as you.
-
- If you get an error message like ``couldn't get password of
- foo'' then this probably means that you're on a system in
- which the ggggeeeettttppppwwwweeeennnntttt(3) library routine can only be
- effectively used by root. If this is the case, then
- _x_s_c_r_e_e_n_s_a_v_e_r must be installed as setuid to root. Care has
- been taken to make this a safe thing to do.
-
- The iiiinnnnssssttttaaaallllllllCCCCoooolllloooorrrrmmmmaaaapppp option doesn't work very well with the
- ttttwwwwmmmm(1) window manager and its descendants. There is a race
- condition between the screensaver and this window manager,
-
-
-
- Page 10 (printed 6/30/95)
-
-
-
-
-
-
- XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((6666----JJJJaaaannnn----99995555)))) XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111))))
-
-
-
- which can result in the screensaver's colormap not getting
- installed properly, meaning the graphics hacks will appear
- in essentially random colors. The mmmmwwwwmmmm(1) and oooollllwwwwmmmm(1) window
- managers don't seem to have this problem. The race
- condition exists because X apparently does not provide a way
- for an OverrideRedirect window to have its own colormap,
- short of grabbing the server (which is neither a good idea,
- nor really possible with the current design.) What happens
- is that, as soon as the screensaver installs its colormap,
- ttttwwwwmmmm responds to the CCCCoooolllloooorrrrmmmmaaaappppNNNNoooottttiiiiffffyyyy event that is generated
- by re-instaling the default colormap. Apparently, ttttwwwwmmmm
- doesn't _a_l_w_a_y_s do this; it seems to do it regularly if the
- screensaver is activated from a menu item, but seems to not
- do it if the screensaver comes on of its own volition, or is
- activated from another console. Any thoughts on this
- problem are welcome...
-
- Apparently there are some problems with ``XView'' programs
- getting confused and thinking that the screensaver window is
- the real root window even when the screensaver is not
- active: ClientMessages intended for the window manager are
- sent to the screensaver window instead. This could be
- solved by making xscreensaver forward all unrecognised
- ClientMessages to the real root window, but there may be
- other problems as well.
-
- When using the MMMMIIIITTTT----SSSSCCCCRRRREEEEEEEENNNN----SSSSAAAAVVVVEEEERRRR extension in conjunction
- with the ffffaaaaddddeeee option, you may notice an unattractive flicker
- just before the fade begins. This is because the server
- maps a black window just before it tells the _x_s_c_r_e_e_n_s_a_v_e_r
- process to activate. The _x_s_c_r_e_e_n_s_a_v_e_r process immediately
- unmaps that window, but this results in a flicker. I
- haven't figured out how to get around this yet.
-
- There need to be a lot more graphics hacks. In particular,
- there should be a simulation of a Lavalite (tm).
-
- CCCCOOOOPPPPYYYYRRRRIIIIGGGGHHHHTTTT
- Copyright c 1992, 1993, 1994, 1995 by Jamie Zawinski.
- Permission to use, copy, modify, distribute, and sell this
- software and its documentation for any purpose is hereby
- granted without fee, provided that the above copyright
- notice appear in all copies and that both that copyright
- notice and this permission notice appear in supporting
- documentation. No representations are made about the
- suitability of this software for any purpose. It is
- provided "as is" without express or implied warranty.
-
- AAAAUUUUTTTTHHHHOOOORRRR
- Jamie Zawinski <jwz@mcom.com>, 13-aug-92. Please let me
- know if you find any bugs or make any improvements.
-
-
-
-
- Page 11 (printed 6/30/95)
-
-
-
-
-
-
- XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111)))) XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((6666----JJJJaaaannnn----99995555)))) XXXXSSSSccccrrrreeeeeeeennnnSSSSaaaavvvveeeerrrr((((1111))))
-
-
-
- Thanks to David Wojtowicz for implementing _l_o_c_k_T_i_m_e_o_u_t.
-
- Thanks to Martin Kraemer for adding support for shadow
- passwords and locking-disabled diagnostics.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 12 (printed 6/30/95)
-
-
-
-