home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
MM1
/
GRAPHICS
/
kwsaver.lzh
/
kwsaver.readme
< prev
Wrap
Text File
|
1994-05-06
|
8KB
|
161 lines
* Marked for release 05/06/94 by JMH via Sub-Etha Software/Midwest Division *
KWSaver Version 1.0 for K-Windows
(c) 1994 by Joel Mathew Hegberg
=================================
KWSaver is a screen-saver management program for K-Windows. Because it is
merely the manager program, you may choose which screen-savers you want on
your system, and even write your own. KWSaver looks in the file
/dd/SYS/kwsaver.list to find a list of the screen-saver programs available on
the system, and randomly selects a saver from the list. (NOTE: See 'The
kwsaver.list File' section below.)
KWSaver monitors your mouse & keyboard (*) activity. If you do not use
your mouse or keyboard for a certain amount of time (default setting is 10
minutes), KWSaver calls one of your screen-saver programs. To exit a
screen-saver, simply move the mouse or hold down one of the detectable
keyboard keys. (*NOTE: Currently, K-Windows only provides information
regarding the SHIFT, ALT, CTRL, CAPSLOCK, & SCROLL LOCK keys. Because of
this, if you do not use any of these keys during normal operation, and you are
not using the mouse, KWSaver may run a screen-saver while you are typing.
This should be rare if the KWSaver delay is long enough, since most people
need to type characters that are SHIFTed, or for typing CTRL-A at a shell
prompt [to repeat the last command typed].)
KWSaver is meant to be run in the background from your startup script
file. To run KWSaver using its default time delay of 10 minutes, you can use:
kwsaver&
(Note that the '&' character runs KWSaver in the background.)
To run KWSaver using a time delay of 30 minutes, you can use:
kwsaver 30&
The maximum time delay allowed is 60 minutes.
KWSaver V1.0 Options:
=====================
Due to the way K-Windows currently works, a window must be allocated for
KWSaver to monitor mouse activity. The window must provide unblocked access
for getstat calls (to read the mouse data). By default, KWSaver will create a
tiny little window (with a graphic icon) atop the current window. This will
provide an unimpeded path for mouse information to be received through. If
you would prefer to have the icon not appear atop the current window, you may
use the '-n' option, and it will be created on a new screen.
If you are not going to be using the screen, you may not want to create
another window. By using the '-c' option, you use the 'current' window as
the mouse-polling window. This window should never become read-blocked. You
may not want to run KWSaver in the background front this window, but rather
run it in the foreground to ensure the window never becomes read-blocked.
If you are using KWSaver with the MM_ONE startup graphic program, you may
use the '-s=<val>' option, which will place a the graphic icon in the current
window. The icon's location on-screen is based on the <val> used. (Note
that this <val> just like the <val> used in the 'install_spooler' program,
also used for the MM_ONE startup program.) You may want to use the '-s'
option in combination with the '-c' option when running in the foreground
from the startup file after MM_ONE is run.
The 'kwsaver.list' File:
========================
This file must be stored in your /dd/SYS directory. It may be renamed
'.kwsaver.list' if you want it to be invisible to avoid cluttering up your
SYS directory -- KWSaver is smart enough to find it.
The file is merely a listing of all the screen-saver programs (one per
line) you have on your system. Whenever you add another saver to your system,
make sure to place its name here (or else it will never get run).
Comment-lines start with the '#' character. This also makes it convenient to
deselect one of your screen-savers in the list by simply placing a '#' before
it's name, so you don't have to erase it from the file.
About the KWSaver Archive:
==========================
There are a lot of files in this archive. If you are only interested in
running KWSaver on your system, you only need to do the following:
1) Move the 'kwsaver' program to your CMDS directory.
2) Move the 'kwsaver_lines', 'kwsaver_lines2', 'kwsaver_mm1s', and
'kwsaver_mm1b' files to your CMDS directory.
3) Move the 'kwsaver.list' file to your SYS directory.
4) Edit your 'startup' file to run KWSaver when you power-up your system.
The rest of the files are provided for people who may be interested in
writing their own screen savers for KWSaver. Here's what they are for:
kwsaver.programmers.notes - Notes (rules) on how to write screen-savers.
kwsaver_lines.c - A sample type-1 screen-saver program.
kwsaver_mm1s.c - A sample type-2 screen-saver program.
kwsaver_mm1s.h - A header file needed to compile kwsaver_mm1s.c.
Technical Notes:
================
When the screen-saver is run, the window it runs in is placed atop the
current screen. However, it's window is not the currently 'selected'
window... this is why you return to the screen you were working on when the
screen-saver deactivates. However, what would happen if you used the F9/F10
keys (which are undetectable to KWSaver) to switch screens while the
screen-saver is running? This generally is not a problem... when the
screen-saver is deactivated, then its window disappears (where ever it may
be) -- big deal. BUT, if you happen to have selected (switched to) the
actual screen-saver screen itself and deactivate the screen-saver, an evil
K-Windows bug would normally occur! The problem is, it's the selected window,
and now it's dying. Because of this, K-Windows dies, and with it, essentially
your entire system, requiring you to reboot. To prevent this from happening
to nice people like yourself, KWSaver will check to see if you've selected the
saver's screen (using pt_valid info from mouse data) before killing the
window. If the window has been selected, a message is displayed requesting
the user switch to another screen. KWSaver then waits for the user to change
screens, and then waits another full second. After this, KWSaver checks all
over again, and once it's safe, the saver's window is killed.
When KWSaver activates, it actually opens a very small window in the
upper-left corner of the current screen (by using window type 'FF') and then
polls the screen for information such as screen size. The small window is
then closed and a new window, the exact size of the current screen, is opened
atop the current screen (again, but using window type 'FF'). This window has
certain guaranteed properties, listed below. This is the window the
screen-saver program is run in, and is defined to be the screen-saver's
standard in, out, and error paths. The screen-saver is guaranteed to run for
at least 2 seconds (for initialization, if needed) before KWSaver will
interrupt it due to user interaction. When the user begins interacting with
the computer, KWSaver will send a signal (of value 4444 decimal) to the
screen-saver program. KWSaver waits for the screen-saver program to die, and
then deallocates the saver window.
The saver window is guaranteed to have these properties before the
screen-saver program is run:
1) Graphics scaling is ON. [ScaleSw(PATH,1);]
2) Foreground color is MAX. (15 for 16-color screens, 255 for 256-color)
3) Background color is 0.
4) Cursor is OFF. **
5) Scaling is based off of 640x208 screen coordinates.
6) Logic is OFF. [LSet(PATH,0);]
7) No pattern is selected. [PSet(PATH,0,0);]
8) ^C and ^E from keyboard are disabled.
** Even though the cursor is turned off in the saver's window, a cursor may
be visible. This is the cursor of the window beneath the screen-saver's
window, which is the selected window. Just ignore it.
KWSaver has been written and tested very carefully. However, use of this
program (and its related files) are at your own risk. The author is not
liable in any way.
KWSaver may not be sold.
KWSaver is copyright 1994 by Joel Mathew Hegberg.
This program and its archive are freely distributable.