home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
MM1
/
GRAPHICS
/
kwsaver25.lzh
/
kwsaver.readme
< prev
next >
Wrap
Text File
|
1995-03-17
|
8KB
|
164 lines
* Marked for release 03/15/95 by JMH via Sub-Etha Software/Midwest Division *
KWSaver Version 2.5 for K-Windows
(c) 1994, 1995 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 press a key.
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 -n&
(Note that the '&' character runs KWSaver in the background.)
To run KWSaver using a time delay of 30 minutes, you can use:
kwsaver -n 30&
The maximum time delay allowed is 60 minutes.
KWSaver V2.5 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. The '-n' option
is the best way to use KWSaver, since it will create the window and then
remove it from the window display stack, which means you'll never have to see
the spare window when flipping through your windows.
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 '-n' option when running in the background 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.
The utility program 'KWSE' can be used to easily edit this file.
About the KWSaver V2.5 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', 'kwsaver_mm1b',
'kwsaver_rain', 'kwsaver_box', 'kwsaver_puzzle16', and 'kwsaver_puzzle64'
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.
(Probably by adding the line 'kwsaver -n&')
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.
kwsaver_rain.c - A sample type-3 screen-saver program.
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.
PLEASE BE SURE TO READ THE ADDITIONAL NOTES IN THE FILE 'VER25.NOTES'!
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, 1995 by Joel Mathew Hegberg.
This program and its archive are freely distributable.