
			       SendYes!
       A tool for automatically closing windowed text sessions
		    Copyright (C) 1995, Wes Santee


0.0 Table of Contents
---------------------

1.0  Introduction
 1.1 Background
 1.2 Requirements
 1.3  E-Mailware!
 1.4  Bug reporting
2.0  Usage
 2.1  Parameters
3.0  Technical stuff
4.0  Frequently Asked Questions
5.0  Author Info


1.0  Introduction
-----------------

Thank you for trying SendYes!

SendYes! is a small utility that looks for the default close boxes
that pop up whenever OS/2 is closing a DOS or OS/2 Windowed Text
session.  If it sees one being created, SendYes! automatically clicks
the 'Yes' button for you.

1.1 Background
--------------

I wrote SendYes! because I hated having to sit and click the 'Yes'
button during system shutdown to close all of my windowed text
sessions that were open.  It's very much a kludge and may or may not
work on your system.  At this point, there are no guarantees.  See the
file CHANGES.TXT for problems you may run into.

1.2 Requirements
----------------

SendYes! was written using the emx development system version 0.9a
with the fifth series of fixes (emxfix05.zip).  To run SendYes!  you
will need to have installed that level or greater of the emx runtime
libraries.  The required DLL's are not included here.  You can find
the required DLL's at

	ftp://ftp-os2.nmsu.edu/os2/unix/emx09a/emxrt.zip

SendYes! has only been tested on OS/2 Warp 3.0.  It makes several
assumptions as to the ID's of some of the built-in dialog boxes that
OS/2 will show on the screen.  If it works on earlier versions of
OS/2, great.  If it works on later versions of OS/2, great.  If not,
don't say I didn't tell you so.


1.3  E-Mailware!
----------------

SendYes! is E-Mailware.  What that means is you can do whatever you
want with the program as long as you send me some E-Mail telling me
how you liked it (or didn't like it).  My E-Mail address is listed at
the end of this document.  Other than that, SendYes! is 100% free of
charge.  With that price, you also get something else...NO WARRANTY.

Disclaimer (the non-legalese form): If there are bugs in SendYes!
that totally destroy your computer (which I highly doubt there are),
don't blame me.  If you use this program, you are doing so at your own
risk.


1.4  Bug reporting
------------------

If you do find a bug in SendYes! (which I'm sure there are plenty),
please let me know.  Due to the nature of the program, I cannot
guarantee I can fix any problems, but it doesn't hurt to try.
My E-Mail address is listed at the end of this document.


2.0  Usage
----------

The easiest way to run SendYes! is to create a program object for it,
and put it in your Startup folder.  If you aren't sure how to create a
program object, consult your OS/2 documentation or the system
tutorial.

NOTE:  You must put the file SENDDLL.DLL in a directory pointed to by
the LIBPATH variable in your CONFIG.SYS file.

2.1  Parameters
---------------

Since SendYes! does not have an interactive window, all options must
be specified through command line options entered in the 'Parameters'
entryfield for the program object.  Here are a list of the supported
parameters and what they do (there is only one right now):

/S     Tell SendYes! to show itself in the CTRL+ESC window list


3.0  Technical stuff
--------------------

I've included the source code for SendYes!.  By default, the source
code is put in the directory SOURCE under the directory in which you
unzipped SendYes!.  You will need to edit the paths in the makefile if
you wish to recompile, but that should be about it.

Like I said before, SendYes! is a total kludge.  A system hook is
installed that is activated whenever a WM_FOCUSCHANGE message is sent
to any application.  SendYes! checks to see if the focus is being sent
to the built-in dialog box that is displayed whenever a windowed text
session is exited.  If it is, SendYes! sends a BM_CLICK event to the
'Yes' button of that dialog, then goes back to sleep.

The kludge is that SendYes! has to rely on the dialog box and the
controls within it that pop up to have the same ID's every time it is
invoked.  These values should remain constant across a particular
version of the OS, but there is no guarantee.  There is even less of a
guarantee that the values will remain constant across multiple
versions of the OS.  But hey, you've got the source, the ID's are
stored in SENDDLL.C.


4.0  Frequently Asked Questions
-------------------------------

Q:  Hey, there's no user interface here!  What's the big idea making
    me use command line parameters!?  Where are my buttons!?
A:  SendYes! needs to be small and fast.  A user interface would be
    needlessly wasteful of memory resources for something so simple.

Q:  How can I kill SendYes! once I start it?
A:  Get a utility like WatchCat which allows killing processes that
    OS/2 itself can't always see.  Alternatively, use the '/S'
    parameter to tell SendYes! to appear in the CTRL+ESC task list.
    From there, highlight the task and hit the Delete key.

Q:  What's going to be in the next version of SendYes!?  
A:  Nothing.  I was thinking about extending SendYes! to be able to
    click buttons on any dialog box.  I've decided against pursuing
    that goal.  SendYes! is destined to be a small utility to add one
    feature to OS/2 that IBM forgot.  I don't want it to be a Swiss
    Army Knife of utilities that ends up wasting memory because most
    people only use a couple of the features.  If I find any blatent
    bugs, I'll try to fix them, but this is the end of the road for
    SendYes!. 

5.0  Author Info
----------------

To reach me and tell me what you think (and/or report a bug), send
your E-Mail off to:

	Wes Santee
	wsantee@oz.net

Enjoy!
