HDS ViewStation System Administrator's Guide

A Hypertext Document


HDSperx HDSscreensaver Manual Page

This page describes the ViewStation's HDSscreensaver manual page.

HDSscreensaver Manual Page
This is the HDS screensaver manual page.

NAME
hdssaver - local ViewStation FX screensaver, chooser, and locking client.

SYNOPSIS
hdssaver [-display host:display.screen] [-program screensaver] [-timeout int] [-cycle int] [-fade] [-nofade] [-unfade] [-nounfade] [-nographics] [-lock] [-lockalways] [-password password] [-xrm resources]

OPTION
hdssaver provides the ViewStation user with a list of locally run screensaver graphics programs using a standard Motif file selection box widget. This program waits until the keyboard and mouse have been idle for a period, and then run the currently chosen graphics demo. It turns off the demo as soon as there is any mouse or keyboard activity. Its purpose is to display pretty pictures on your screen when it is not in use, in keeping with the philosophy that unattended monitors should always be doing something interesting, just like they do in the movies. By running these programs locally, network load is diminished.

This program also acts as a ViewStation screen locker. When lock is selected the user is prompted for a password (maximum of ten characters). Once the password is verified, the currently chosen graphics demo will run. Any further use of the keyboard or mouse causes the ViewStation to prompt for the password. If the correct password is entered within 30 seconds the graphics demo is turned off and the ViewStation returned to its previous state.

The following graphics demo programs are available and can be customized either through command line options, or resource settings:

hdslogo -- Blinking HDS logo
attraction -- A bouncing ball demo, or a qix-like demo, or a wild color-cycling thing, with some odd rules.
blitspin -- Rotate a bitmap using bitblts.
greynetic -- Random colored/stippled rectangles.
helix -- Generates spirally "stringart" patterns.
hopalong -- Fractals.
hypercube -- 2D projection of a 4D object.
imsmap -- Generates random maps or cloud formations
noseguy -- A guy with a big nose wanders around the screen saying things.
pyro -- Fireworks.
qix -- Flying string art.
random -- Cycle through list randomly.
rocks -- Flying through an asteroid field.
rorschach -- Random inkblot patterns.
slidescreen -- Permute the screen image like an 8-puzzle
xroger -- Blinking jolly roger flag.

See the individual man pages for more details.

Provisions are made to allow the user to add and delete from this list, modify timeout, cycle, and fade times, as well as instantly view each graphics program.

OPTIONS
hdssaver accepts the following options:

-program screensaver
The screensaver will activate this program after the keyboard and mouse have been idle for the time set by timeout. This program must be a set as a local client of type screensaver as defined by the user's client.config file. Please refer to the ViewStation User's manual for more information concerning local clients. Default value is hdslogo ( a blinking HDS logo).

-timeout seconds
The screensaver will activate after the keyboard and mouse have been idle for this many seconds. Default value is 120 seconds with a minimum of ten.

-cycle seconds
After the screensaver has been running for this many seconds, the currently running screensaver will be killed (with SIGTERM), and a new one started. This is only applicable when random is selected and has a default value of 30 seconds with a minimum of 10.

-fade
If set, the current screen will fade out before the screensaver graphics program is run. Default set.

-nofade
If set, the current screen will just blank before the screensaver graphics program is run.

-unfade
If set, the screensaver graphics program will fade out before the screen is restored. Default set.

-nounfade
If set, the current screensaver will just blank before the screen is restored.

-nographics
If set, the user interface widget will not be displayed.

-password password
The password used if screensaver is set as lock.

-lock
If set the display will be locked immediately. The user will be prompted for a lock ing password if one has not already been provided. The default saver is used unless a different one is specified.

-lockalways
If set, every screensaver will be invoked with the locking option set. The password option MUST be used in conjunction for this option to be valid.

X DEFAULTS
hdsscreensaver understands the following resources:

program (class Program)
Same as the -program command-line option. Default HDSlogo.

timeout (class Time)
Same as the -timeout command-line option. Default 120 seconds.

cycle (class Time)
Same as the -cycle command-line option. Default 30 seconds.

fade (class Boolean)
Same as the -fade command-line option. If this is true, then when the screensaver 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 screensavers (when the cycle timer expires and random is selected. )

unfade (class Boolean)
Same as the -unfade command-line option. If this is true, then when the screen saver deactivates, the original contents of the screen will fade in from black instead of appearing immediately. This only works on displays with writable colormaps. Default True.

fadeSeconds (class Time)
If fade or unfade is true, this is how long the fade will be in seconds (default 1.)

fadeTicks (class Integer)
If fade 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.

nographics (class Boolean)
If this is true the graphics user interface widget will not be displayed. up. Default False.

lock (class Boolean)
If true the display will be locked immediately. The user will be prompted for a locking password if one has not already been provided. The default saver is used unless a different one is specified.

lockalways (class Boolean)
If this is true each screensaver will be invoked with the lock option set. Note that the screensaver password must also be set for this to work. Default False.

password (class Char)
The screensaver password used when the lock option is set. Default Null.

programs (class Programs)
The graphics demo programs which hdsscreensaver runs when the user is idle. The value of this resource is a string, one screensaver command per line. Each line must contain exactly one command -- no semi-colons.

If the value of this resource 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 .Xdefaults file:
hdsscreensaver.programs: \
rocks \n\
qix \n\
rocks \n\
hdslogo


HOW IT WORKS
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. The currently selected graphics screensaver program is then run.

When the user becomes active again, the screensaver window is unmapped and the running subprocess is killed by sending it SIGTERM. This is also how the subprocesses are killed when the screensaver decides that it's time to run a different demo if random is selected: the old one is killed and a new one is launched.

Before launching a subprocess, hdsscreensaver stores an appropriate value for $DISPLAY in the environment that the child will receive. (This is so that if you start hdsscreensaver with a -display argument, the programs which hdsscreen saver 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 kill -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.

ENVIRONMENT
DISPLAY to get the default host and display number.
XENVIRONMENT to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.

SEE ALSO
hdslogo(1), attraction(1), blitspin(1), greynetic(1), helix(1), hopalong(1), hypercube(1), imsmap(1), noseguy(1), pyro(1), qix(1), random(1), rocks(1), rorschach(1), slidescreen(1), xroger(1).

BUGS
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 HDS saver forward all unrecognised ClientMessages to the real root window, but there may be other problems as well.

COPYRIGHT
Copyright 1993, HDS Network Systems, Inc.

AUTHORS
Joseph H. Durant (HDS Network Systems)
Modified merge of xscreensaver and xnlock clients ported as a local client to the ViewStation.
Please let me know if you find any bugs or make any improvements.

Return to Section Heading Page


Return to the Home Page

If you need more information than is available here, you can reach HDS via email at info@hds.com, or call us at 1.800.HDS.1551 in the USA, or at +610.277.8300 from outside the US. For questions or problems regarding the HDS WWW page, contact webmaster@hds.com.
© 1996 by HDS Network Systems Inc.