This program, xscreensaver-command, is a command-line-oriented tool; the
|-help||Prints a brief summary of command-line options.|
This just launches the
When the -demo option is followed by an integer, it instructs
the xscreensaver daemon to run that hack, and wait for the user
to click the mouse before deactivating (i.e., mouse motion does not
deactivate.) This is the mechanism by which
|-prefs||Like the no-argument form of -demo, but brings up that program's Preferences panel by default.|
Tell xscreensaver to turn on immediately (that is, blank the screen, as if
the user had been idle for long enough.) The screensaver will deactivate as
soon as there is any user activity, as usual.
It is useful to run this from a menu; you may wish to run it as
sleep 5 ; xscreensaver-command -activate
to be sure that you have time to take your hand off the mouse before the screensaver comes on. (Because if you jiggle the mouse, xscreensaver will notice, and deactivate.)
|This tells xscreensaver to pretend that there has just been user activity. This means that if the screensaver is active (the screen is blanked), then this command will cause the screen to un-blank as if there had been keyboard or mouse activity. If the screen is locked, then the password dialog will pop up first, as usual. If the screen is not blanked, then this simulated user activity will re-start the countdown (so, issuing the -deactivate command periodically is one way to prevent the screen from blanking.)|
|-cycle||If the screensaver is active (the screen is blanked), then stop the current graphics demo and run a new one (chosen randomly.)|
|-next||This is like either -activate or -cycle, depending on which is more appropriate, except that the graphics hack that will be run is the next one in the list, instead of a randomly-chosen one. In other words, repeatedly executing -next will cause the xscreensaver process to invoke each graphics demo sequentially. (Though using the -demo option is probably an easier way to accomplish that.)|
|-prev||This is like -next, but cycles in the other direction.|
|Like -activate, but runs the Nth element in the list of hacks. By knowing what is in the programs list, and in what order, you can use this to activate the screensaver with a particular graphics demo. (The first element in the list is numbered 1, not 0.)|
Causes the xscreensaver process to exit gracefully.
This does nothing if the display is currently locked.
Warning: never use kill -9 with xscreensaver while the screensaver is active. If you are using a virtual root window manager, that can leave things in an inconsistent state, and you may need to restart your window manager to repair the damage.
Tells the running xscreensaver process to lock the screen immediately.
This is like -activate, but forces locking as well, even if locking
is not the default (that is, even if xscreensaver's lock resource is
false, and even if the lockTimeout resource is non-zero.)
Note that locking doesn't work unless the xscreensaver process is
running as you. See
|-version||Prints the version of xscreensaver that is currently running on the display: that is, the actual version number of the running xscreensaver background process, rather than the version number of xscreensaver-command. (To see the version number of xscreensaver-command itself, use the -help option.)|
|-time||Prints the time at which the screensaver last activated or deactivated (roughly, how long the user has been idle or non-idle: but not quite, since it only tells you when the screen became blanked or un-blanked.)|
|-restart||Causes the screensaver process to exit and then restart with the same command line arguments as last time. You shouldn't really need to do this, since xscreensaver notices when the .xscreensaver file has changed and re-reads it as needed.|
Prints a line each time the screensaver changes state: when the screen
blanks, locks, unblanks, or when the running hack is changed. This option
never returns; it is intended for use by shell scripts that want to react to
the screensaver in some way. An example of its output would be:
BLANK Fri Nov 5 01:57:22 1999 RUN 34 RUN 79 RUN 16 LOCK Fri Nov 5 01:57:22 1999 RUN 76 RUN 12 UNBLANK Fri Nov 5 02:05:59 1999
The above shows the screensaver activating, running three different hacks, then locking (perhaps because the lock-timeout went off) then unblanking (because the user became active, and typed the correct password.) The hack numbers are their index in the `programs' list (starting with 1, not 0, as for the -select command.)
For example, suppose you want to run a program that turns down the volume on your machine when the screen blanks, and turns it back up when the screen un-blanks. You could do that by running a Perl program like the following in the background. The following program tracks the output of the -watch command and reacts accordingly:
Note that LOCK might come either with or without a preceding BLANK (depending on whether the lock-timeout is non-zero), so the above program keeps track of both of them.
xset dpms force off
You can also use
|DISPLAY||to get the host and display number of the screen whose saver is to be manipulated.|
|PATH||to find the executable to restart (for the -restart command). Note that this variable is consulted in the environment of the xscreensaver process, not the xscreensaver-command process.|
Please let me know if you find any bugs or make any improvements.