SECTION THIRTEEN
HYPERACTIVE WINDOWS

13.1:  INTRODUCTION

In section 7, we talked about the standard windows zero through nine. 
These windows could be set up as Neutral, Silent, Speak or Float.  We
also talked about the extended windows ten through forty-nine.  These
windows do not do as much as the standard windows but are still very
powerful.  All these windows offer much flexibility but for certain
programs, you need the power of hyperactive windows.

As we've mentioned, not all software programs use DOS screen service
to display their information on your PC's screen.  This is not necessarily a
bad thing, however.  After all, you wouldn't want your word processor to
reread your entire business letter every time you typed in a character or
used a cursor key to change lines.  Certainly you wouldn't want your
spreadsheet repeating every cell when all you've done is add or modify
the data in a single cell.

As you can see, when it comes to certain kinds of software, often silence
is golden.  However, even though you wouldn't want to hear everything
on your screen repeated ad infinitum, occasionally there is going to be
some critical information that you'd like to hear read to you as soon as it
pops up.  This is where Vocal-Eyes' "Hyperactive" windows come into
play.

13.2:  WINDOWS A-J

In addition to the standard ten windows and forty extended windows,
Vocal-Eyes offers an additional ten windows A-J.  These ten windows are
designated as hyperactive although they can each be enabled or disabled
independent of all other windows.  Whenever prompted for a hyperactive
window, simply supply a letter from "A" through "J."

When a window is set to "Hyperactive," Vocal-Eyes checks and rechecks
that window for changes.  If it detects your specified change, the
hyperactive window will trigger.  Once the window triggers, you can
specify up to three things Vocal-Eyes should do.

This feature can best be clarified with a few examples.

Let's say your working in a spreadsheet.  Your particular spreadsheet has
a small area in the upper right-hand corner where your program's present
work status is displayed.  It says either "READY," "RECALCULATING," or
"ERROR," depending on what's happening at any one moment.  Lets say
you'd like to know when your spreadsheet is busy with a recalculation so
you won't attempt to enter new data while it's in progress.  And of
course you'd want to know about any error messages.  You could set up
a hyperactive window to this area and monitor for any change.  Once a
change is detected, you can instruct Vocal-Eyes what to do.  

Here's another example.  Lets say you are using a program which, at
certain times, displays the word "EDIT" in a certain area of the screen. 
When this is displayed, you want Vocal-Eyes to do several tasks
automatically.  With a hyperactive window, you can instruct Vocal-Eyes
to monitor for the word "EDIT" either in a specific location or anywhere
within a certain window.  Once Vocal-Eyes notices the appearance of the
word, it could then be instructed to do your bidding.  This could be to
read something or even to load a completely new .SET file into memory.

13.3:  WHAT HYPERACTIVE WINDOWS CAN LOOK FOR

There are actually fifteen different ways to configure a hyperactive
window to trigger.  By trigger, we mean that a certain condition as been
met.  Once the condition has been met, the hyperactive window has
triggered, you can tell Vocal-Eyes what to do.  Should it read something
or switch to another window or load a new .SET file or all three?  A
hyperactive window, like the other fifty windows, can contain an area the
size of a single character to the full screen.  Your first step is to set up
the coordinates of the hyperactive window.  Once you have the area
confined, you must tell Vocal-Eyes what to look for.  Lets discuss each of
the fifteen ways in detail.

Any change:

If any change within the specified hyperactive window's coordinates
occurs, the window will be triggered.  It does not matter if there was a
text change or a color change.  "Anything" can be taken literally.

Any text change:

This gets a little more specific than the setting described above.  This
option will only trigger if a text change occurs in the hyperactive window. 
Color changes will not be noticed.  If you don't care about color changes
but you do care if characters are changed within the hyperactive window,
this would be a good choice.

Any Attribute change:

You probably already guessed what this option does.  This one does not
care if there is a text change in the hyperactive window but it does care if
there is a color change.  

Exact match:

This option will take a snap-shot of everything within the current
hyperactive window's coordinates.  It will remember every single detail. 
Where each character is placed, the case of each character and even the
color of each character.  Vocal-Eyes than takes this information and
stores it for later comparison.  Now, instead of any type of change in the
hyperactive window, Vocal-Eyes is looking for a very specific occurrence. 
This window will not trigger until it is restored to the original state it was
when Vocal-Eyes took a snap-shot of what was already there.  Every
character must be in the same position, the case of each character must
match, and the color of each position must be the same as before.  Then
and only then, will Vocal-Eyes trigger the hyperactive window.

For example, if you want the window to trigger when line five columns
ten through twenty contain the characters "Spreadsheet" and all the
characters are blue on red, you could set up a hyperactive window with
coordinates top five, bottom five, left ten, and right twenty.  Vocal-Eyes
will take a snap-shot of the current contents which would be the word
"spreadsheet" being displayed blue on red.  Once Vocal-Eyes sees this
occurrence again, the window will trigger.  Remember, you can match a
single character or the entire screen.

Exact text match:

This works like the exact match above except Vocal-Eyes is only
concerned with the text on the screen.  It does not care about the color. 
Like before, Vocal-Eyes will take a snap-shot of the hyperactive window
but only of the text, not the color.

Vocal-Eyes will not trigger until the screen matches character for
character what it was when the original snap-shot was taken.  The color
of each character is not considered.

Exact Attribute match:

This is just the opposite of the Exact text match above.  Vocal-Eyes takes
a snap-shot of the video attributes of the hyperactive window.  It does
not care about the text on the screen.  Vocal-Eyes will not trigger until the
screen colors within the hyperactive window are exactly as they were
when the original snap-shot was taken.  

Different match:

This option will preform the opposite of the exact match option, described
earlier.  That is, while exact match will trigger any time the contents of
the hyperactive window exactly match the snap-shot, different match will
trigger any time the contents of the hyperactive window are different in
any way from the snap-shot.  Any change-- text, color, what have you--
within the coordinates of the hyperactive window is enough to trigger the
Vocal-Eyes command you have specified.

For example, if you wanted the window to trigger if a particular text and
color was not currently displayed on the screen, this would be a good
choice for different match.

Different text match:

Just as different match works opposite exact match, different text match
works precisely opposite exact text match.  At any time the text in the
hyperactive window is different in any way from the text of the snap-
shot, the Vocal-Eyes command(s) you have specified will be triggered.

Different attribute match:

Following suit, different attribute match works opposite exact attribute
match.  Instead of triggering on a specified set of colors in the snapshot,
the hyperactive window will be triggered any time there is a color change
in the hyperactive window from that of the snap-shot.

Contains attribute:

This option allows you to specify a particular color.  Vocal-Eyes
remembers this color and will trigger if the specified color is present
anywhere in the hyperactive window.  It does not matter where in the
window the color is located or how much of the color is there.  Its
presence there will cause this to trigger.

Does not contain attribute:

This works exactly opposite of the contains attribute option above.  Once
again, you specify a particular color and instruct Vocal-Eyes to trigger if
the color is not in the current hyperactive window's coordinates.

Contains string:

This option allows you to specify a string of up to five characters in
length.  If the specified string is contained anywhere in the hyperactive
window's coordinates, the window will trigger.  The string can be in
upper or lower case letters.  When Vocal-Eyes looks for the specified
string, it ignores the case of all letters.  The string can be located
anywhere within the hyperactive window.  It could be in the middle of
another word.  If Vocal-Eyes sees the same pattern, the window will
trigger.

This would be a good choice if you want something to happen if a certain
word appears in a certain area but it is not always in the same location. 
Let Vocal-Eyes scan an area for the string.

Does not contain string:

This works exactly opposite of the contains-string option above.  Again,
you set up a string of up to five characters in length.  This time however,
Vocal-Eyes will only trigger if the specified string is not located in the
current hyperactive window's coordinates.

Contains cursor:

You might use this option if there is no text or attribute change on the
screen, but you would like to have something happen when the cursor
enters a particular region of the screen.  Vocal-Eyes will see the cursor
enter the confines of the window and will act accordingly.

Does not contain cursor:  

This is the opposite of the above option.  Vocal-Eyes will watch to see if
the cursor leaves the window and act accordingly.  

13.4:  HYPERACTIVE WINDOW COMMANDS

Now that you know of the ways a hyperactive window can be triggered,
it is time to see what it can be triggered to do.  Once a window has been
triggered, Vocal-Eyes will act upon your requests.  You can specify any
three of eight optional Vocal-Eyes commands to execute when a
hyperactive window triggers.  Lets discuss each of the eight options in
detail.

Speak window:

This tells Vocal-Eyes to speak the specified window.  You can specify any
of the standard windows zero to nine, extended windows ten through
forty-nine, or any of the 10 hyperactive window A-J.

Speak string:

You can specify a string of up to 20 characters in length to be spoken. 
For example, maybe you want to say "data base active" when a
hyperactive window determines your specified criteria for determining
whether the data base is loaded.

Speak box:

This informs Vocal-Eyes to look for the current box and speak it.  This
would be as if you had pressed the read box hot key only, of course,
Vocal-Eyes would do this automatically based on the hyperactive window
triggering.

Speak light bar:

Upon seeing this command, Vocal-Eyes will automatically speak the
current light bar in the active, standard window.  This would be as if you
had pressed the read light bar hot key.

Activate window:

This will make the specified window the currently selected window.  This
would be just like hitting F3 in review mode or hitting the select window
hot key.  Remember, by switching to a different window, you not only
constrain the reading to the new window's coordinates but you can also
turn the light bar mode to on, off, or auto along with setting the new light
bar color.

Load disk SET:

This feature gives Vocal-Eyes a tremendous amount of power.  Now,
based on a particular criteria, you can instruct Vocal-Eyes to load a
completely different .SET file.  You specify the name of the .SET file and
Vocal-Eyes will load the new .SET automatically.  At this point, you can
have a completely new voice environment.  You could, for example, have
10 more hyperactive windows doing completely different functions.  The
possibilities are endless.

The load process used here is exactly as if you loaded the file manually
from the files menu and specified the file name only.  If the specified .SET
file is loaded in one of the RAM locations, Vocal-Eye will load it from
there.  You are limited to eight characters for the file name.  Therefore,
you should not specify a path or the .SET extension.

Load RAM SET:

This works just like the load disk SET only instead of specifying a file
name, you specify the RAM number which contains the desired .SET file. 
You will remember, you can use the load disk set option above and still
have the .SET loaded from a RAM location.  This option is simply for
compatibility with older versions of Vocal-Eyes.  It is suggested you use
the load disk set option instead of the load RAM set option.

Beep:

This instructs Vocal-Eyes to issue a simple beep tone.

13.5:  SETTING UP THE HYPERACTIVE WINDOWS

You know what a hyperactive window can trigger on and what it can do
once it has triggered.  Lets now go through the details of how you
actually set up a hyperactive window.  In order to set up the hyperactive
windows, you must be in review mode.  The following discussion will
assume you are already in review mode.

SHIFT-F3:

In order to change a particular hyperactive window's settings, you must
first select that window.  Remember, to select a standard window you
press F3 in review mode and type a number from zero to nine or to select
an extended window you press Control-F3 and a number from ten to
forty-nine.  To select a hyperactive window, press SHIFT-F3 instead.  You
will now be asked to select the hyperactive window.  Simply type the
desired window A through J.  Once you press the letter, Vocal-Eyes will
verify by saying "Window x" where "x" is the window of your choice. 
Like the extended windows, the only reason to have a hyperactive
window selected is so the following commands know which hyperactive
window to work with.  Other than for this reason, it makes no difference
which hyperactive window you currently have selected.  Whenever you
load a new .SET file from disk, hyperactive window A will always be the
default window.  As for the standard windows (zero through nine),
whichever window you had active when the .SET file was saved will
become active when the .SET file is loaded.

Notice how the shift key was used to enhance the standard F3 command. 
F3 by itself relates to the standard windows zero through nine but a
SHIFT-F3 relates to the hyperactive windows A-J.  You will notice the
shift key has been used to enhance several of the other standard window
commands as well.

SHIFT-F4:

Pressing F4 alone will prompt you for the coordinates of the currently
selected standard window zero through nine.  However, pressing SHIFT-
F4 will prompt you for the four coordinates of the currently selected
hyperactive window A through J.  You fill in the data exactly as you
would using the F4 command.

SHIFT-F5:

Pressing F5 alone, will set the top left of the currently selected window
0-9 to the review cursor position.  However, if you press SHIFT-F5,
Vocal-Eyes will set the top left of the currently selected hyperactive
window to the review cursor position.  Vocal-Eyes will respond "top left."

SHIFT-F6:

Pressing F6 alone will set the bottom right of the currently selected
window zero through nine to the review cursor position.  However, if you
press SHIFT-F6, Vocal-Eyes will set the bottom right of the currently
selected hyperactive window to the review cursor position.  Vocal-Eyes
will respond "bottom right."

SHIFT-F7:

SHIFT-F7 pops up a box which deals with the currently selected
hyperactive window.  This is where you set up the details of a
hyperactive window.  There are six different settings which can be made
with this option.  You can use the up and down arrows to move to the
next or previous option.  Pressing the space bar will rotor to the next
selection and the backspace will rotor to the previous selection for the
current option.  At any point, you can press the ESCAPE key to exit the
options.  All the new settings will be saved.  Pressing ENTER from the last
option will also save and exit the options.  Lets discuss each option in
detail.

Status: Off/Hyperactive

Although Vocal-Eyes offers ten hyperactive windows, you probably will
not need all of them.  Therefore, use this setting to active or deactivate
the hyperactive windows you want or don't want to use.  A setting of
hyperactive will enable the window.  By default, all ten windows are
turned off.  Keep in mind that Vocal-Eyes monitors the hyperactive
windows from A to J.  Therefore, if both hyperactive windows A and D
trigger at the same time, window A's commands will be issued first.

Interrupt: Yes/No

When a hyperactive window triggers, you have the option of telling Vocal-
Eyes to silence any speech in progress and then do the specified
commands.  If you don't silence the speech, anything spoken by the
hyperactive window will be buffered to the end of the text currently being
spoken.  It normally is a good idea to interrupt the speech so you know
instantly your hyperactive window triggered.  The default is to interrupt
the speech.

If you have set the window to interrupt the speech and you have
interruptability enabled, Vocal-Eyes will temporarily disable interruptability
for about one second.  Lets say you are typing at the keyboard when a
hyperactive window triggers.  If the window was told to read something,
you don't want your keystrokes to instantly silence the speech before it's
had a chance to speak.  If you really do want to silence the speech,
simply press the CONTROL or ALT key.  These keys, with interruptability
enabled, will always silence the speech.

Also, notice that if two hyperactive windows trigger at the same time the
second will not interrupt the first, even if you have it set up to interrupt. 
If something has been sent to the synthesizer after the first window has
triggered but before the second, the second hyperactive window will
indeed interrupt the speech.

Again, this technique is used so hyperactive windows do not interrupt
other hyperactive windows.

Trigger On:

This option allows you to rotor through all fifteen ways to trigger the
hyperactive window.  We discussed each option above.  Simply use the
space bar to move to the desired option and then continue to the next
item.  

First Command:
Second Command:
Third Command:

The final three choices allow you to set up to three commands Vocal-Eyes
should do if this hyperactive window triggers.  We have already talked
about the eight choices available.  All three commands by default are
undefined.  Use as few or as many of them as you like.  For example, the
first command may be speak string, the second command could be speak
light bar and the final option could be to load the disk set FILES.SET.  Let
your imagination soar with the possibilities.

If you select Speak Window, Speak String, Activate Window, Load Disk
SET or Load RAM SET, you must then press ENTER.  Once you press
ENTER, Vocal-Eyes will prompt for the needed information.  For example,
if you select speak string, you will be prompted for the string itself.  If
you select load disk SET, you will be prompted for the name of the .SET
file to load.  If the selection only requires a single character input such as
activate window or load RAM SET, simply type the single digit.  Do not
press ENTER.

If you are supplying the .SET file to load, you are limited to 8 characters. 
Therefore, do not include a path or extension as part of the file name. 
Vocal-Eyes will use the standard loading procedure.

If you selected the speak window option, the valid windows are zero
through forty-nine and A through J.  

In order for Vocal-Eyes to conserve memory, it has allocated eighty
characters of storage for text strings to be spoken and the disk SET file
names.  Although there are ten hyperactive windows and each supports
three commands, you cannot set up all thirty commands as speak string if
the total number of characters exceeded eighty characters.  It if very
unlikely you will ever encounter this type of problem but if you do, Vocal-
Eyes will give the following error message:

Allocation table full.  Unable to save entry.

If you receive this error message, Vocal-Eyes is telling you there is no
room to store the new string or set file name.  What you typed has not
been saved.  If this happens, you may want to shorten your string lengths
or file names to conserve memory.

Once you have all options set the way you want them, either press
ENTER, right arrow or down arrow from the last option or press the
ESCAPE key from any option.  The entries will be remembered after you
exit the hyperactive window definition.  Don't forget to save your .SET
file if you want to store this definition permanently.  

There are certain considerations you need to be aware of for some of the
triggering options available.  For example, the exact matches and different
matches somehow have to know what the original data is in order to
make a comparison.  Also, the contains and does not contain attribute
settings must know what the particular attribute color is.  Lets discuss
where, how, and when Vocal-Eyes gets this information.

1) If your trigger string is set for any of the 3 exact matches or any of the
3 different matches, the data must be on the screen and the hyperactive
window coordinates must be set up for the area before you press SHIFT-
F7.

2) If your trigger string is either contains attribute or does not contain
attribute, the review cursor must be sitting on the character which
contains the color you wish to use when you press SHIFT-F7.

Vocal-Eyes does not actually update what it is looking for every time you
enter the SHIFT-F7 menu.  For example, if you already have the window
triggering correctly but you wish to set the interrupt setting or any of the
commands, you do not have to worry about fulfilling the two
requirements above.  

When you first enter the SHIFT-F7 menu, Vocal-Eyes makes a note of the
current status setting and the current trigger on setting.  When you exit
the menu, Vocal-Eyes compares the settings it saved when you first
entered the menu with the current settings.  If either of these two
settings has changed, Vocal-Eyes will update what it is looking for. 
However, even if one of the settings has changed, the status must be set
to hyperactive in order for Vocal-Eyes to take a new "snap-shot."  After
all, why update the values if the hyperactive window is not even
activated?

It is very important that you understand when Vocal-Eyes updates what it
is looking for in the exact matches and the different matches as well as
what attribute it is looking for in the contains attribute and does not
contain attribute settings.  If your trigger string is any of the other 5
settings, there is no problem since nothing is needed by Vocal-Eyes which
is not already supplied.

Lets say you have a hyperactive window all set up.  It is enabled,
triggering if the window contains the color yellow on black.  But now, you
decide to trigger the window with blue on black instead.  How can this be
done?  If you press SHIFT-F7, there is nothing on the menu to change so
when you exit the menu Vocal-Eyes will not update the color under the
review cursor position.

Although this may be a rare case, you need to know how to handle this
situation should it arise.  Since Vocal-Eyes only updates if the status is
set to hyperactive and either the status setting or the trigger setting has
changed between the time you entered the menu and the time you exited
the menu, you need to make your change in two steps.

First, place your review cursor on the new attribute you've chosen for
your trigger condition.  Next, enter the menu with SHIFT-F7 and set the
hyperactive window to off.  Then press the ESCAPE key to exit the menu. 
Now make sure your review cursor is still sitting on the new color (blue
on black) and press SHIFT-F7 again.  Now you can change the setting
from off to hyperactive and exit again with the ESCAPE key.  This time,
Vocal-Eyes will notice that the status setting has changed and it is set for
hyperactive.  Vocal-Eyes will then take note of the color under the review
cursor and use that for its future comparisons.

Although this is not a difficult procedure, it can be a bit confusing at first. 
If you remember when Vocal-Eyes updates what it uses for comparison,
you should be able to master the hyperactive windows.

F8:

We have already talked about this command.  Remember, it will read the
coordinates and status of the currently selected window as well as the
coordinates and status of the currently selected hyperactive window.

SHIFT-F8:

Remember, ALT-F8 will read through all ten standard windows, giving you
the status and coordinates of each.  SHIFT-F8, similarly, will read through
all ten hyperactive windows and give you the status and coordinates of
each.

13.6:  TYPING IN HYPERACTIVE WINDOWS

If you have a hyperactive window set up for any change, any text change
or any attribute change and you type within the window, Vocal-Eyes will
not consider your keystroke as a change and will not trigger the window. 
This is because you normally do not want your actual keystrokes to be
considered a change.  If the keystroke causes a change to the screen
other than just printing the character typed at the cursor position, the
window will trigger as expected.

13.7:  GLOBAL ENABLING AND DISABLING OF ALL HYPERACTIVE
          WINDOWS

At some point, you may wish to disable all hyperactive windows.  Of
course you could enter review mode and manually disabled each window
by selecting the window and toggling it off.  But if you later wanted them
to be active again, you would have to reverse the process.  This can be
very time consuming.

There are actually two ways you can very quickly disable and enable all
hyperactive windows at once.  Even though they are disabled, each
individual window will show a setting of hyperactive.  However, until you
re-enable the windows, Vocal-Eyes will not monitor any of them.

The first approach uses one of the Vocal-Eyes hot keys.  Option 57
(Hyper On/Off).  This hot key will toggle the hyperactive windows on and
off.  Simply press this hot key and Vocal-Eyes will either say "Hyperactive
windows off" or "Hyperactive windows on" depending on the current
state of the hyperactive windows.

The second approach can be done through option ten (Hyperactive Status
On/Off) located in the General submenu.  Simply move to this option and
press ENTER.  Each press will toggle the windows off or on.

13.8:  HYPERACTIVE CHECK DELAY

Option 18 (Hyperactive Check Delay) located in the General submenu
gives you control over how often Vocal-Eyes should check it's
hyperactive windows for changes.  This also effects how often Vocal-
Eyes checks for boxes if the auto box read feature is enabled.

You can supply a number from one to ninety-nine, each number
representing one eighteenth of a second.  For example, thirty-six would
tell Vocal-Eyes to check every two seconds.  By default, Vocal-Eyes waits
six eighteenths or one third of a second.  This means each of the active
hyperactive windows will be checked three times per second for changes.

Why would you want to slow Vocal-Eyes down?  There are two good
reasons.

1) If you have the value too low causing Vocal-Eyes to check too quickly,
Vocal-Eyes may trigger on a hyperactive window or a box before the
screen has finished changing.  If this happens, you may not get the
results you intended.  In other words, you may get only a portion of the
new information.

2) The more often Vocal-Eyes checks the hyperactive windows and pop-
up boxes, the more time Vocal-Eyes steals from your machine.  If you
have several large hyperactive windows and you are running on a very
slow machine, you may wish to increase this value to give you a better
over-all response.

However, If you are using a relatively fast machine and are using an
applications program which updates the screen quickly, you may wish to
decrease this value.  The smaller the number, the faster Vocal-Eyes will
notice a change.

Lets say you have a hyperactive window monitoring line twenty-five for
any change.  Once a change has occurred, you have instructed Vocal-
Eyes to read the entire line.  If you have the hyperactive check delay set
at ninety-nine, Vocal-Eyes will wait ninety-nine eighteenths or five and a
half seconds before reading line twenty-five.  Setting this value to one
would cause Vocal-Eyes to read line twenty-five immediately.  If your
application flashes error messages on this line very quickly, the first
setting might cause you to miss some messages.  Also, if your application
"repaints" the line frequently with no new information being added, the
second setting might cause your program to chatter incessantly.  The
default setting of six should work with most applications.

13.9: HYPERACTIVE WINDOW EXAMPLE

Now that you know everything about hyperactive windows, lets go
through an actual example.  

Lets say you are using an integrated program which offers a word
processor, spreadsheet, and database.  PFS First Choice, Microsoft
Works, or Eight-in-One are examples of this kind of program.  When you
first start up your application, you get a menu offering the three (or more)
options.  By picking any of the choices, you activate the desired function. 
Lets say at the top left of the screen the application prints "Word
Processor," "Spreadsheet," or "Data Base" depending on which option
you are currently using.

You will probably want a custom .SET file for each of the three
environments since the screens will be quite different and the cursoring
keys will behave differently in the three environments.  You could
manually load the desired .SET file but how about using hyperactive
windows?  Note that the autoloading feature may not function since,
depending on the applications program, a program is not necessarily being
executed from disk when you go from one environment to another.

For our example, lets start with the VE.SET file supplied and modify it. 
Startup the application program and select the word processor.  Since
"Word Processor" is now displayed at the upper left of the screen, set up
hyperactive window A for an exact text match.  You could set the
coordinates at: left one, top one, right fourteen, and bottom one.  Now
press SHIFT-F7 and set the status to hyperactive and the trigger
command to "exact text match." The exact match will consider both the
characters and the color but exact text match will only consider the text. 
"Exact match" would probably work, but if you change the colors within
your program later, you may find your hyperactive window quits working. 

Now set up the first command to speak the string "word processor." 
Since we know hyperactive window A already contains this message, we
could have said read window A.  Both approaches would get the same
results.  Now lets set up the second command to load a disk SET.  Give it
the name "WORDPROC."  We will create WORDPROC.SET shortly.  Now
ESCAPE from this menu and save the .SET file to disk.  Lets call this
"MENU" for our example.  For your real-life application, be sure to match
this file's name with the name of the .EXE or .COM file you execute when
you run the program.  Whenever you have a hyperactive window loading
another .SET file, it is always a good idea to save the current .SET file to
disk before you exit review mode or the control panel.  This is because
your hyperactive window is going to trigger and load a new .SET file and
the one you just edited will be lost.  

Now lets load "VE.SET" from the control panel.  We want to start with a
fresh SET file for our word processor.  You will want to adjust all the
features of Vocal-Eyes to work best with the word processor as we've
been doing throughout this manual.  However, in this example, we are
only concerned with the hyperactive windows.

When you exit the word processor, you will want to load the original
MENU.SET file automatically.  We have MENU.SET loading
WORDPROC.SET but how can we get WORDPROC.SET to reload
MENU.SET when the word processor is exited?

We loaded WORDPROC.SET by using an Exact text match which looked
in the upper left corner for the words "Word Processor."  How about
reloading MENU.SET by triggering on "Different match?"  In other words,
if "Word Processor" is not in the upper left, load "MENU.SET."

Now that you have VE.SET loaded, remember that you now have ten new
hyperactive windows to work with.  Lets set up hyperactive window B to
left one, top one, right fourteen, and bottom one.  Now press SHIFT-F7 to
set the status to hyperactive and trigger to Different text match.  You can
set the first command if you wish to speak "Main Menu" and the second
command to load the disk SET "MENU."  Now save this SET file to disk
with the name "WORDPROC."

To give your changes a try, exit to the menu.  You should have heard
Vocal-Eyes say "Main Menu" and the "MENU.SET" file should have been
loaded.  Now pick the word processor option again.  Vocal-Eyes should
say "Word Processor" and load "WORDPROC.SET" automatically.

Congratulations, you now have Vocal-Eyes working automatically for you. 
To continue our example, you will want to set up hyperactive window B
of MENU.SET to look for "Spreadsheet" in the upper left.  If there, you
may want to load "SP.SET."  Then SP.SET will wait until "Spreadsheet"
disappears from the upper left and load MENU.SET.

You can use hyperactive window C of MENU.SET to load the appropriate
set file for the data base as well.

Feel free to experiment with hyperactive windows.  Once set up, they can
make an application program speak and act as if it had been written for
speech.

13.10:  POTENTIAL PROBLEMS WITH HYPERACTIVE WINDOWS

Below are a few potential problems you may encounter while setting up
hyperactive windows.

1) Infinite loop

It is possible for you to set up a hyperactive window which when
triggered loads a new .SET file.  That .SET file could have a hyperactive
window which loads the original .SET file.  If not set up properly, they
may continuously load each other.

For example, if you have the first .SET file triggering if blue on black is
contained anywhere on the screen to load the second .SET file.  The
second .SET file may have a hyperactive window which says load the first
.SET file if the color blue on black is anywhere on the screen.  This would
cause Vocal-Eyes to constantly switch back and forth between the  .SET
files-- an infinite loop.

If this happens to you, don't worry.  Simply enter review mode and fix the
problem.  Whenever you enter the voice control panel or enter review, the
hyperactive windows shut down until you return to the applications
program.  You could also use the Hyper On/Off hot key to turn off all
hyperactive windows and then fix the problem.

You should also keep in mind that when a new .SET file is loaded with a
hyperactive window set up for any change, any text change, or any
attribute change it will trigger immediately and then again only if the area
changes.

2) Not saving your new .SET file before a new one is loaded.

If you have set up a hyperactive window to load another .SET file based
on a particular occurrence, you should always save the .SET file as soon
as possible.  This is because if the hyperactive window triggers before
you have a chance to save it to disk, all your changes to the current .SET
file will be lost as the new one is loaded.

3) Your hyperactive window is not triggering on the correct data.

If you set up your hyperactive window for any of the three exact
matches, any of the three different matches, or contains or does not
contain attribute, you must remember how and when Vocal-Eyes gets this
information.  If a window is not triggering as you expect it should, please
refer to section 13.5.
