WEYES21.DOC

wEyes -- What is it?

	"wEyes" is a Windows program that, although originally 
designed purely for amusement, might actually be of use to some 
computer users.  Inspired by the famous "xEyes" program run on 
many UNIX-based xWindows systems, this program draws two eyes 
in a window; the eyes then track the movement of the mouse.

	I gave the original version of this program (archived 
in "weyes.zip") to a friend of mine who owns a notebook-size 
computer with an LCD screen.  It seems that whenever he ran 
Microsoft Windows, he had problems keeping track of the 
location of his mouse pointer -- LCDs are notoriously slow, 
and if he happened to move the mouse suddenly, he would have 
to scan the entire LCD screen just to locate the pointer.  
wEyes helped.

	Since he seemed to benefit, I decided to upload the 
program to Compuserve and some other BBSs, to see if anyone 
else enjoyed it.  To my surprise, that first version was much 
more popular than I ever thought it would be.  Unfortunately, 
though, I had never put the original version through any kind 
of quality-control test.  In short, the program was less than 
flawless.

	Enter wEyes v. 1.1.  That version possessed substantial 
enhancements over the original version, including custom 
colorization, elimination of minor bugs, and an all-around 
better interface.  

	But a few months after I released version 1.1, 
Microsoft came out with Windows 3.1.  This bittersweet event 
had two major ramifications for me.  First, Win 3.1 revealed a 
hidden bug in wEyes v. 1.1.  It seemed that, whenever the 
Mission Control dialog box was invoked, some of the text within 
the 3-D area retained a white background, rather than the light 
gray background that I intended.  Second, Win 3.1 provided a 
new capability for its windows:  the so-called "topmost" 
feature.  This feature allows a window to be visible at all 
times -- even when "covered" by another window.  

	So I rewrote wEyes yet again.  This latest version, 
version 2.0, fixes the aforementioned bug and takes advantage 
of Win 3.1's "topmost" feature.  In addition, users now have 
the ability to change the main window's background color.  
wEyes 2.1 is a further refinement that takes care of a minor 
bug (see "wEyes 2.1 Enhancements, below). 

	Basically, writing the program was a light exercise 
in trigonometry.  The program checks the position of the mouse 
pointer on a regular basis, and using slopes, arctangents, sines, 
and cosines, determines where the "pupils" of the eyes -- 
which are independent of each other -- should be.  


wEyes 2.1 Enhancements

	- Bugs:  Okay, my fascination with Win 3.1 made me lose 
sight of you 3.0 users.  If you pressed the "OK" button in the 
wEyes Mission Control dialog box, the program crashed in 3.0.  
Sorry -- but I had to find this bug on my own!  This is why I 
encourage folks to write me and let me know about such problems!

wEyes 2.0 Enhancements

	- "Topmost" capabilities:  When the "wEyes Mission 
Control" dialog box is invoked, one of the controls in the 
dialog is a check box labeled "wEyes always on top."  If you 
are running Win 3.1 and you wish to make wEyes visible at all 
times, click the mouse on this check box.  If you are running 
Win 3.0, the check box will be disabled and will appear grayed.

	- Background color:  Now, in addition to adjusting the 
color of wEyes's pupils and outer rims, you can adjust the 
background color as well.  (Neophytes:  see "wEyes 1.1 
Enhancements - Colors" below for more information.)

	- Bugs:  Hard to believe, but wEyes 1.1 had a hidden 
bug that was not visible in Win 3.0.  Some of the text in the 
"Mission Control" dialog box appeared on a white background, 
rather than on a light gray one.  Hence, these little text 
items stuck out like the proverbial irritated digits.  The 
problem has been rectified in wEyes v. 2.0.

	- Odds & ends:  I don't know if anyone will notice, but 
I made some slight changes to the algorithm used in updating 
the positions of wEyes's pupils.  It should make pupil movement 
a little faster -- though perhaps the difference is 
imperceptible.


wEyes 1.1 Enhancements

	- Interface:  As of v. 1.1, wEyes sports two dialog 
boxes.  The first is the traditional "About" dialog box, 
which displays version and other basic information.  The 
second is the "wEyes Mission Control" dialog box, explained 
in more detail below.  This dialog box gives the user control 
over colors and "pupil update rates." In addition to being 
functional, these dialog boxes have a rather slick three-
dimensional look.  No, I'm not bragging -- the 3-D effect is 
due in large part to a dynamic-link library that I've 
incorporated into the program.  The file is "three_d.dll," 
and it was written by a guy named Ray Donahue.  (If you are a 
programmer and like the look and feel of wEyes's dialog boxes, 
you have my recommendation to license Donahue's libraries.  
They are flexible and incredibly easy to implement.  Ray can 
be reached at the following address:  Ray Donahue, 365 Mather 
Street Unit 125, Hamden, CT 06514; or on Compuserve: 70324,1204.  
I downloaded the DLL from the WINADV forum, on Compuserve.)  
The only hitch here is that wEyes will only support VGA and 
EGA monitors -- as for other monitors, I cannot guarantee 
compatibility.

	- Colors:  wEyes now allows the user to define which 
colors he or she wants for the "rims" and "pupils" of the 
window's eyes.  To define customized colors, activate the 
"Mission Control" dialog box.  This is accomplished by 
clicking wEyes's control box (the little box in the top 
left-hand corner of the window).  The control menu will appear.  
At the very bottom, you will notice two items: "About wEyes..." 
and "wEyes Mission Control...."  Click once on "Mission 
Control."  The Mission Control dialog box will appear.   
	Next, find the two group boxes named "Outer rim color" 
and "Pupil color," respectively.  Each box contains three 
horizontal scrollbars.  Each scrollbar controls the intensity 
of either the red, green, or blue color elements of your 
screen.  Move the scrollbars, and the color appearing in the 
window beside the controls will change to reflect your 
handiwork.  When satisfied, press the "OK" button.  If you 
just can't get it right, that's alright -- just press the 
Cancel button and your wEyes will not have changed.
	Some of you probably own a notebook or laptop with a 
monochrome LCD screen.  This does NOT mean that you can't take 
advantage of the coloring capabilities included in this 
version.  As you probably know, different people prefer 
different intensity settings when using LCD screens:  some 
prefer that the screen look darker, while others can only work 
with a lighter-shaded screen.  To the extent that your tastes 
differ from the next guy's, the red-and-black default colors 
may be difficult to see on your LCD screen.  If so, the Mission 
Control color features can help.

	- Timer interval:  wEyes checks the position of the 
mouse pointer at a predetermined time interval, and then 
readjusts the position of the pupils accordingly.  In the 
original version of wEyes, this "pupil update rate" was 100 
milliseconds by default.  That parameter could be changed, 
however, by including a command-line parameter.  The Mission 
Control dialog box has eliminated the need for such a 
mechanism.  The interval can now be adjusted in much the same 
way as the colors of the eyes.  When the scrollbar in the 
"Timer interval" group box is adjusted, the number appearing 
in the edit box to the right of the scrollbar will be 
similarly adjusted.  If you want to enter a particular number 
in the edit box, however, you need not use the scrollbar -- 
just click your mouse on the edit box (or "tab over"), and 
type in the desired number.
	If you are running a number of large applications 
concurrently, you may want to slow the timer down a bit, so as 
not to burden the other programs.  On the other hand, unless 
you have a very fast machine, intervals of less than 50 
milliseconds will probably not produce any additional speed 
benefits; there will always be some lower limit for a given 
machine.

	- Initialization file:  The first time that you close 
wEyes (or end a Windows session without closing wEyes first), 
the program will create an initialization file in your WINDOWS 
directory.  The file is called, appropriately enough, 
"weyes.ini."  The next time that you run wEyes, the program 
will "remember" the colors that you last specified, and will 
automatically use them in your current session.  In addition, 
unlike the original version, wEyes will store the window's 
size and position.  So rather than having to move and stretch 
the window every time you start wEyes, the window will 
automatically pop up exactly where you want it.  

	- Minimization:  As with the original version of 
wEyes, wEyes v. 1.1 still works when minimized.  So if you 
need room on your display, wEyes won't take up any more room 
than, say, the Windows Clock program. 

	- Bugs:  Fallible?  Me?  I encountered one minor, 
although annoying, bug in the original version of wEyes.  It 
seems that, if I stretched the window far enough across the 
screen, I would get an unrecoverable application error.  That 
problem has since been put to bed.
	Also, the original version had no mechanism for 
aborting the program in the unlikely event that a timer could 
not be created.  Should Windows already have the maximum 
number of timers running, wEyes v. 1.1 will not run, but will 
display a message informing the user of the problem. This 
version appears to work pretty well.  Nonetheless, because I'm 
not charging money for this program, it's difficult to justify 
putting hours and hours into crash-testing the thing.  Thus, 
I'm relying on user input.  If you find any bugs in this 
version of wEyes, please drop me a line at the address below.  
Or you can send me e-mail at Compuserve.  My address there is 
70724,3347 (InterNet: "70724.3347@compuserve.com").


DISCLAIMER

	No copyright is claimed in "weyes.exe," "weyes.ini," 
"weyes2.doc," "weyes2.wri," or "weyes2.txt" (collectively, the 
"Software") by its author, Rob Carty ("Author").  No rights 
related to the Software are granted by Author.  The user 
agrees to use the Software at his or her own risk, and agrees 
not to hold Author liable for any damages, direct, indirect, 
consequential, incidental or otherwise, in tort, in contract, 
or upon any other theory of law or equity, regardless of 
whether such damages are caused by Author's own negligence or 
gross negligence.

   	The file named "three_d.dll" is copyrighted 
intellectual property, distributed under license.  The user, 
however, need not pay royalties for copying or using that file 
in conjunction with the Software, pursuant to the license 
granted Author.


Loading instructions:

	To load wEyes onto your Windows system, first copy 
"weyes.exe," "weyes.txt," and "three_d.dll" to the directory 
of your choice.  Next, enter Windows's Program Manager and 
select a program group.  Then select "File," "New," "Program 
Item" from the menu bar (in that order).  In the "Command 
Line" edit box, type: "<Drive>:\<Pathname>\WEYES.EXE", where 
<Drive> and <Pathname> are the drive and directory into which 
you have installed the above program files.  Choose "OK."  
When you want to invoke the program, simply double-click the 
wEyes icon. 
 
	To auto-load the program upon starting a Windows 
session, do the following: 

	Win 3.1

	Install wEyes in the "Startup" program group.  To run 
the program as an icon, check the "Run Minimized" check box.

	Win 3.0

	Open your "win.ini" file (located in your WINDOWS 
directory) by using the Windows Notepad program.  Find the 
line labeled "[windows]"; then look for the "load=" statement.  
Beside that statement, type "<Drive>:\<Pathname>\WEYES.EXE", 
again where <Drive> and <Pathname> are the drive and directory 
into which you have installed the program files.  The next time 
that you invoke windows, wEyes will appear as a minimized 
window at the bottom of your screen.  To run wEyes as a 
regular (non-minimized) window, perform these same steps, 
except rather than looking for the "load=" statement, look 
for the "run=" statement.


This program is written mostly for fun.  If you do enjoy it 
and would like to find out about other products and services 
provided by OutLook/PC Business System Design, drop us a line 
at:

OutLook/PC Business System Design
ATTN: M. Bradley, MSSI
P.O. Box 684255          
Austin, TX  78768-4255

Compuserve:  70724,3347

We usually specialize in more serious undertakings, 
specifically management information systems.  Even more 
specifically, we are seeking out small- to mid-sized law firms 
in South and Central Texas that require information systems 
and solutions (I have a J. D. -- University of Texas School of 
Law, Class of 1991).  If you fit the above description (or if 
you know anyone who does), please let us know.  We specialize 
in building open, flexible information systems, and we can do 
it quickly and cheaply.  And when we're done, our clients do 
not become our slaves.

Thanks.

-- Rob Carty, President
   9 October 1992

      
  
_
