OVERVIEW:

Zoom-Daemon  is  a  program  that  attaches  a ZOOM GADGET to each Intuition
window  which  causes the window to expand to the full size of the screen or
contract  to  the  window's  minimum  size when it is pressed.  Pressing the
gadget a second time restores the window to its original size.


HOW TO USE ZOOM-DAEMON:

You  should  place  Zoom-Daemon  in  your  C:  directory (or in your current
path),  and Zoom-Handler in the L:  directory (or in the current directory).
To start Zoom-Daemon, simply type Zoom-Daemon at the CLI prompt:

    1> Zoom-Daemon

You do not need to RUN Zoom-Daemon, since Zoom-Daemon loads the handler code
separately,  sets  up  the  handler,  and then exits.  To remove the daemon,
simply issue the Zoom-Daemon command a second time.

Once  the  Zoom-Daemon is running, new windows that are opened may include a
Zoom  Gadget  which  should  appear  to the left of the depth gadgets in the
upper  right-hand  corner  of  the window.  The Zoom Gadget has a large dark
square  with a smaller light-colored square inside it (if youy are using the
standard  workbench colors).  If you press this gadget, the window will grow
in size to fill the entire screen.  Pressing the gadget a second time causes
the  window  to return to its original size.  If you press and hold the Zoom
Gadget  and  click  the  right  mouse  button while the zoom gadget is still
active  (a  process  called  "left-right clicking"), then the window will be
reduced to its smallest allowable size.  Left-right clicking the Zoom Gadget
a second time restores the window to its original size.



USAGE NOTES:

Zoom-Daemon  only  adds  a  Zoom Gadget to a window when it meets one of two
conditions:  1) it has a SIZING gadget, or 2) it has the NEWSIZE flag set in
its  IDCMPFlags  field.   (See  "Intuition:  The Amiga User Interface" for a
description  of  the  IDCMP  flags,  and the window fields discussed below).
Windows  with  neither  of these features probably do not know how to handle
window size changes (or could not take advantage of a larger window anyway),
so no Zoom Gadget is added to them for this reason.

Zoom-Daemon  will  not  increase  the  size of a window past its MaxWidth or
MaxHeight  values,  even  if  they  are  smaller than the size of the screen
Zoom-Daemon assumes that the application knew what it wanted when it set the
maximum  size.   Some  older  programs  may have the maximum size set to the
standard  size  of  the  Workbench  screen (640x200) and if you use overscan
mode, these windows will not zoom out to the full size of the screen.

Zoom-Daemon  will  not  decrease  the size of a window past its MinWidth and
MinHeight values, nor to a size that would place the Zoom Gadget outside the
visible  portion  of  the  window.  This is an attempt to guarantee that the
zoom gadget is always available to resize the window.

Pressing the Zoom Gadget (without pressing the right mouse button) zooms the
window  to  its  full  size  even  if  the  window  is  currently  shrunken.
Similarly,  left-right  clicking  the  Zoom gadget shrinks the window to its
minimum  size  even  if the window is zoomed.  Thus it is possible to get to
any  of  the  three possible sizes (minimum, normal, maximum) from any other
size:   from  minimum  size  left-right  clicking gets to normal size, while
clicking  gets  to  maximum;  from  normal size, left-right clicking gets to
minimum  size  while  clicking  gets to maximum; and from maximum left-right
clicking gets to minimum size while clicking gets to normal size.

If  you  remove  the  Zoom-Daemon while windows containing a Zoom Gadget are
still open, Zoom-Daemon will remove the Zoom Gadgets automatically.

You can make Zoom-Daemon part of your standard working environment by adding
the  "ZOOM-DAEMON" command (or "ZOOM-DAEMON > NIL:") to the startup-sequence
file in the S:  directory on your boot disk.


COMPILING ZOOM-DAEMON:

Zoom-Daemon  was developed using the Lattice C compiler v4.0 on a 512K Amiga
1000.   It  probably  will need to be modified to work with the Manx Aztec C
compiler.   To  compile  and  link  Zoom-Daemon,  use the following commands
(these appear in Zoom-Daemon.com, distributed with the source code):

        1> lc -b0 -v  -M Zoom-Main Zoom-Handler Zoom-Setup
        1> lc -b0 -ad -M Zoom-Image
        1> asm Zoom-Stubs
        1> blink with Zoom-Daemon.lnk
        1> blink with Zoom-Handler.lnk

The  -v  -b0 and -ad options are required.  You can add -r if you like.  The
-M  is  to  compile only those source files that have been updated since the
last compile.


AUTHOR:

Zoom-Daemon and Zoom-Handler
Copyright (c) 1989 by Davide P. Cervone, all rights reserved.

Davide P. Cervone
Department of Mathematics, Box 1917                 ST402523@BROWNVM.BITNET
Brown University                                    st402523@brownvm.brown.edu
Providence, Rhode Island  02912                     dpvc@fermat.math.brown.edu

