@database CBE.guide
@master prg:cbe/ClipBoardEnhancer/CBE.guide
@$VER: CBE 3.5 (06-Oct-94)
@author "Anthony J. Moringello"
@(c) "Copyright © 1994 Anthony J. Moringello"
@remark Created with Heddley v1.1 (c) Edd Dumbill 1994

@node "Main" "Clip Board Enhancer © 1994 by Anthony J. Moringello"


    @{b}Clip Board Enhancer V 3.5
     by Anthony J Moringello@{ub}

     @{" Introduction          " link "Introduction" 0}  | Please be sure to read the Revision
     @{" Important             " link "Important" 0}  | History and WeirdThings/Bugs before
     @{" System Requirements   " link "Requirements" 0}  | writing to me if you have any questions
     @{" Installation          " link "Installation" 0}  | or problems.  It would be best if you
     @{" Using CBE             " link "Usage" 0}  | were to read all the documentation
     @{" ToolTypes             " link "ToolTypes" 0}  | even if you have a previous version
     @{" Menu Items            " link "MENU" 0}  | of CBE since so many changes may have
     @{" ARexx Commands        " link "ARexx" 0}  | been made since the previous
     @{" Reserved Keys         " link "ReservedKeys" 0}  | public release.  Almost all known
     @{" Weird things/Bug List " link "Weird" 0}  | problems/quirks are covered in
     @{" Revision History      " link "Revisions" 0}  | the documentation.
     @{" Thanks                " link "Thanks" 0}
     @{" To Do list            " link "To Do" 0}
     @{" About the Author      " link "About the Author" 0}
@endnode

@node "Introduction" "Introduction:"


     @{b}ClipBoard Enhancement Project@{ub}

  ClipBoard Enhancer (a.k.a.  CBE) is a commodity that enhances the way that the Amiga
clipboard works.  The clipboard (as I am sure most of you already know) is a device that allows
programs to copy data from one application, and allow the user to paste that data back either
to the same application or even to other applications that are capable of using the clipboard.

  The Amiga has 256 such units, unfortunately almost all programs only use one unit.  This I
thought seemed a waste of quite a powerful system feature.

  Another problem comes in when you cut/copy a second time, since the previous data is lost,
the only way to paste that same information back is to find where you got it from, and
recopy/cut again.  This of course is not always possible.

  Well worry no longer for CBE is here.  CBE keeps track of every piece of data that has been
sent to the clipboard, and allows you to select any previous item, and paste it back.  CBE's
concept works similarly to another review buffer you are probably quite familiar with . . .
what else but the CLI or Shell.

  PLEASE be sure to read the Revision History, and Weird Things/Bugs if you have any questions
or problems BEFORE writing to me.  It is best to read ALL of the documentation even if you have
a previous version of CBE since so many changes have been made since the last public release.

@{fg highlight}  There have been MANY changes made to CBE.  Please read these docs to find what all has
changed so as to eliminate possible problems. At the VERY LEAST, read the @{"Revision History" link "Revisions" 0}, to
see what has been changed.
@endnode

@node "Important" "Important Information:"


     @{b}Important Information@{ub}

  This software is provided as-is, without warranty either expressed or implied. In no event
will the author be liable for direct, indirect, incidental or consequential damages or loss of
data resulting from the use of this software. The risk as to results and performance of this
software is assumed entirely by the user.

  CBE is shareware, so if you find it useful, and use it regularly, I ask that you @{"register" link "Register" 0} CBE
for $5.00-$15.00 (U.S.  or even equivalent in your own currency). If you really cannot afford
the registration fee, you may send me a registered version of a program you wrote that you feel
is comparable in worth to CBE.  Hard drives, A4000's, or a nice 20" monitor will also be
accepted without question.

  You will find my @{"address" link "About the Author" 0} at the end of this documentation.
@endnode

@node "Requirements" "System Requirements"


     @{b}System Requirements@{ub}

  ·  Any Amiga computer with KS2.04 or above.
     CBE is KS3.0 aware and will use some it's special features if possible.
  ·  MultiView with datatypes.
     Although not required this is the default.
     (Read @{"Tool Types" link "ToolTypes" 0} for more information).
  ·  CBE will work with any program that uses Clipboard Unit 0.
  ·  @{"ARexx" link "AREXX" 0} must be installed and running to use the @{"ARexx" link "AREXX" 0} features.

  No other extra libraries or files are required.
  

  !!NOTE:  If you assign CLIPS: to your hard drive, I would suggest using a disk
           caching program of some sort.  This will eliminate disk access while
           searching through the clipboard's contents.
           I would highly suggest using a cache program anyway, as it can give
           totally new life to your system performance all around.
@endnode

@node "Installation" "Installation"


     @{b}Installation@{ub}

  Just drag the CBE icon to any drawer, or copy CBE to the directory where you wish it to run
from.  The best place for this of course is the WBStartup directory on your boot drive.
  You may wish to install the ARexx scripts to your REXX: directory, but the included files are
more for example than any real practical purpose.

  No additional libraries or handlers are required.
  You will most likely want to change the icon @{"tooltypes" link "ToolTypes" 0} though.
@endnode

@node "Usage" "Using CBE"


     @{b}Using CBE@{ub}

  Using CBE to recall previous pieces of clipboard data is very easy. The following is a more
detailed description of CBE's features and how to make them work.

    @{" The main Window   " link "Usage_Notice" 0}          @{" Updating the display " link "Usage_Update" 0}
    @{" Recalling clips   " link "Usage_Recall" 0}          @{" Closing CBE's window " link "Usage_Close" 0}
    @{" Jumping screens   " link "Usage_JumpButton" 0}          @{" ARexx support        " link "Usage_ARexx" 0}
    @{" Viewing a clip    " link "Usage_View" 0}          @{" Iconifying           " link "Usage_Iconify" 0}
    @{" Clearing items    " link "Usage_Clear" 0}          @{" Autoinsertting data  " link "Usage_AutoInsert" 0}
    @{" Free/Lock button  " link "Usage_FreeLock" 0}          @{" Open/Save files      " link "Usage_OpenSave" 0}
    @{" SaveLock funtcion " link "Usage_SaveLock" 0}          @{" Displaying CTRL chars" link "Usage_ShowCTRL" 0}
@endnode

@node "Usage_Notice" "Usage_Notice"
@toc "Usage"


     @{b}CBE's main interface@{ub}

  ·  What you probably notice first is the large Listview gadget
     containing the clipboard data.
     As you Cut or Copy data from another program like @{b}CygnusEd@{ub}, or @{b}Final
     Writer@{ub}, you will see that the data you just clipped will be added to
     the displayed at the bottom of the listview box.
     You may scroll through the review list by using the scrollbar, by
     dragging the mouse up or down off the top or bottom of the box, or by
     using the cursor keys.  Holding the SHIFT keys down with the cursor
     keys will move the selected item up/down faster.

  @{fg highlight}NOTE:  See Weird Things/Bugs for info on KS2.04 and the cursor keys.@{fg text}" link "Weird" 0} for info on KS2.04 and the cursor keys.


  CygnusEd © 1989-1992 CysgusSoft Software
  Final Writer © 1993 Softwood, Inc
@endnode

@node "Usage_Recall" "Usage_Recall"
@toc "Usage"


 @{b} Recalling data from CBE@{ub}

  ·  To recall a previous clip to allow you to paste it back into an
     application, just select any item in the list and paste as normal.
     Pretty simple eh?
@endnode

@node "Usage_JumpButton" "Usage_JumpButton"
@toc "Usage"


  @{b}Jmping between screens.@{ub}

  ·  Under the scroll-bar of the ListView box you will see a [@{b}J@{ub}]
     button.  This allows you to make the CBE window 'jump' to the next screen,
     and bring that screen to the front.
     This button functions slightly different depending if you have turned on
     the ToolType @{"USEFRONTSCREEN" link "ToolTypes" 0}.
     With the USEFRONTSCREEN tooltype, you are allowed to Jump to @{u}any@{uu}
     screen that may be open.  Otherwise, CBE will only jump between public
     screens.  The documentation for jumping between Public screens defines no
     specific ordering for the screens, so if a different screen should appear
     than what you expected, perhaps a new version of the OS will fix the
     "problem".  @{b}@{fg highlight}
     !!NOTE:   The USEFRONTSCREEN is not a system friendly
               option.  See the @{"ToolTypes" link "ToolTypes" 0} section for more
               info.  Jump is perfectly SAFE if USEFRONTSCREEN=NO.
@endnode

@node "Usage_View" "Usage_View"
@toc "Usage"

  @{b}Viewing clipped data@{ub}

  ·  The "@{b}VIEW@{ub}" button allows you to see what is contained in the
     selected unit.

     The ListView displays only a part of the data actually contained in the
     ClipBoard history.  If there is more data in the clipboard than is dis-
     played in the listview, the last character will be shown as a '»'.
        You can view the data by pressing the [VIEW] button, or by double-clicking
        the item with the mouse.
     MultiView is capable of automatically displaying text, images,
     or even playing sounds.  Use the Tool Types @{"TXTVIEW" link "ToolTypes" 0}, @{"GFXVIEW" link "ToolTypes" 0},
     and @{"SNDPLAY" link "ToolTypes" 0} if you do not have MultiView.

     The line displayed in the listview box contains a limited part of
     the clipboard's data as well as the IFF type specification for
     that unit.  This will normally be FTXT for a text clip. But it
     may display ILBM, or 8SVX and possibly others.  The latter may
     just have a file name in the display, so some form of 'viewing'
     is needed to know exactly what is there.  ILBM clips may display
     "ILBM: W:xx H:xx D:xx" for width, height, depth info, sounds may
     display "8SVX:smpl/s xxxx" if no NAME is found.

     Viewing is done asynchronously, so you may view as many units as
     memory allows.

     MultiView will pop up on the public screen set by @{"PUBSCREEN," link "ToolTypes" 0} else on
     Workbench.  If you have @{"USEFRONTSCREEN" link "ToolTypes" 0}=NO, and have @{"jumped" link "Usage_JumpButton" 0} to another
     public screen, MultiView will open on the same screen on which CBE s
     sitting.
@endnode

@node "Usage_Clear" "Usage_Clear"
@toc "Usage"


  @{b}Clearing item(s)@{ub}

  ·  The @{b}CLEAR@{ub} button allows you to empty the selected clipboard unit.
     If you double click on the Clear button a requester will pop up asking
     @{b}FREE@{ub}, @{b}ALL@{ub}, or @{b}CANCEL@{ub}.

     Selecting @{b}ALL@{ub} will clear out every unit in the clipboard including
     those that may be 'locked'.

     Selecting @{b}FREE@{ub} will only clear those that are not 'locked'.  These
     will clear the active unit as well, so further Pasting will yield no
     results until another Cut/Copy action is done.

     @{b}CANCEL@{ub} will return, but the first selected unit will still be cleared.
@endnode

@node "Usage_FreeLock" "Usage_FreeLock"
@toc "Usage"


  @{b}The Free/Lock gadget.  Keeping items "permanently".@{ub}

  ·  The Free/Lock cycle button allows the user to Lock or unlock any
     unit in the review list.  Locking a unit will keep CBE from
     selecting that unit for normal review storage.  Under normal
     use, this unit will no longer be changed.  The @{"Reserved Key" link "ReservedKeys" 0} units
     start out locked.  Freeing a unit will allow it to be unused when
     needed to store clipboard review history data.

     Locked units are signified by a '-' between the IFF specifier,
     and the clipboard data.  Else a ':' is displayed.

     Reserved keys units are signified with a '='.  If you unlock then try
     to re-lock this unit, only a '-' will be displayed.  Use the @{b}Update@{ub}" link "Usage_Update"
0}
     button to reset the reserved key status.
     See warnings/notes under @{"Reserved Keys" link "ReservedKeys" 0}.
@endnode

@node "Usage_SaveLock" "Usage_SaveLock"
@toc "Usage"


  @{b}SaveLock function@{ub}

  ·  @{"SaveLocks" link "ToolTypes" 0} ToolType added.  If set to 'YES', the lock
     on the current units will be saved, and will exist the next time CBE
     is run, even after power is turned off.  This works by setting the comment
     on the files in 'CLIPS:' so if you want this feature to work fully, you
     must assign 'CLIPS:' to a disk or hard drive.  (Doesn't really make sense
     to save locks if the data being locked is not kept, does it.)
@endnode

@node "Usage_Update" "Usage_Update"
@toc "Usage"


  @{b}Updating the display@{ub}

  ·  The Update button will free, and re-read all the clipboard review
     data to make the display current.

     CBE does not listen for changes on every clipboard unit available to
     the system, so it is possible for another program to alter the
     clipboard data of another unit (number 5 for example), and CBE
     will never know the data changed, so the review list will not
     change.  You can use Update to see this new data.

     !!Note:  The system clipboard device saves all clipboard units
          1-255 to disk.  These files are saved in the logically
          assigned directory "CLIPS:".  This is worth noting in case
          you were to clip a large section of 24 bit ILBM data for
          example. This is a lot of data to keep on disk.
          Normally the s:Startup-sequence assigns this to RAM:
          If you assign CLIPS: to disk, these pieces of data will be
          there for you again, even after you re-boot the system.
          If you choose to delete any of the files from this directory,
          rather than @{"CLEARing" link "Usage_Clear" 0} it you would want to press Update to reflect 
          those changes.
@endnode

@node "Usage_Close" "Usage_Close"
@toc "Usage"


 @{b} Closing CBE's window@{ub}

  ·  Pressing the Window's close gadget or by pressing the [ESC] key
     will hide CBE's window.  You may bring up the window again by pressing
     the hot key.  Even though the window is not displayed, CBE keeps
     track of new Cut/Copy actions.
@endnode

@node "Usage_ARexx" "Usage_ARexx"
@toc "Usage"


  @{b}CBE does ARexx@{ub}

  ·  CBE has an @{"ARexx" link "ARexx" 0} port for more advanced system usage.
     See the @{"ARexx" link "ARexx" 0} section for full usage instructions.
@endnode

@node "Usage_Iconify" "Usage_Iconify"
@toc "Usage"


  @{b}Iconifying CBE's window@{ub}

  ·  Now CBE can zoom down to a tiny window by use of the ZOOM gadget in the
     title bar.  Note that ALL features of CBE still function.  You can use the
     cursor keys to select a Clipboard unit and View or even Clear it from the
     keyboard, although you will of course not be able to see what you are
     doing.

     See the ZOOM specific @{"Tooltypes" link "ToolTypes" 0} for important info.
@endnode

@node "Usage_AutoInsert" "Usage_AutoInsert"
@toc "Usage"


  @{b}Using CBE to insert data for you@{ub}

  ·  Pressing [RETURN] will automatically Hide CBE's window and Paste the
     current item into the previously active window.
@endnode

@node "Usage_OpenSave" "Usage_OpenSave"
@toc "Usage"


  @{b}Loading and saving clipboard data@{ub}

  · Open and Save allow you to load an item into the clipboard, or save the
    clipboard to a file.  Since all clipboard data are stored internally as IFF
    data, text will be saved as plain text with no IFF information conatined
    within it.  Images, sounds, and other data will be saved AS-IS directly from
    the clipboard.
    If you load a non-IFF file such as a GIF, it will be stored as a text item
    so pasting will more than likely be usless.  Normal IFF files will be stored
    as is and should paste as expected.

    Open and Save do nothing in the @{"unregistered" link "Register" 0} version.
@endnode

@node "Usage_ShowCTRL" "Usage_ShowCTRL"
@toc "Usage"


  @{b}Displaying "unprintable" characters@{ub}

  · The @{"SHOWCTRL" link "ToolTypes" 0} tooltype will allow you to display the control codes within the
    clip data.  Most fonts do not have definitions for characters 01-31 so the
    default is to change these characters to decimal points.  If your system
    font can display control codes you may set this to YES.
@endnode

@node "ToolTypes" "ToolTypes"


     @{b}Tool Types@{ub}

       The following tooltypes may be entered into CBE's icon info, or
     they may be used from the CLI/Shell.  When entering parameters
     from the shell, remember any arguments with spaces MUST be
     surrounded by double quotes (").
          e.g.  CBE  TOPUNIT=5  "CX_COPY1=lalt ctrl c"

     CX_POPKEY   - Key used for HotKey to pop window up or to front.
                   If USEFRONTSCREEN is set to YES, CBE will open on
                   the frontmost screen.  If not, CBE will open on
                   it's previous public screen, and bring that one to
                   the front.
     CX_POPUP    - Should interface window open on start. (YES/NO)
     CX_PRIORITY - Priority for input-event processing. (default -5)
     WINTOP      - Top edge for Window.  -1 for center on mouse. (default -1)
     WINLEFT     - Left edge for window. -1 for center on mouse. (default -1)
     ZOOMTOP     - Where to put window when ZOOM gadget is pressed.
     ZOOMLEFT    - -1=Shrink to current position. (Shrink to Open position on
                   KS2.04)
     FIRSTUNIT   - First clipboard unit to use for history.  (default 1)
     MAXUNITS    - Number of units used for review buffer.  (default 30)
     TXTVIEW     - Full path name of file for
     GFXVIEW     -  you own text, graphics and
     SNDPLAY     -  sound viewers/players.
     LISTLINES   - Number of lines to display in ListView.  (3 thru 255)
     LISTWIDTH   - Number of characters wide for ListView.  (16 thru 128)
     CX_COPY1...CX_COPY10   \\  @{"Keys" link "ReservedKeys" 0} to use to copy or paste to/from
     CX_PASTE1..CX_PASTE10  /  reserved clipboard units.
     SAVEDIR     - Default directory for saving clips to.
     OPENDIR     - Default directory for loading clip data from.
     SAVELOCKS   - Will keep locks even after power down...if 'CLIPS:' is
                   assigned to disk.  (Default=NO)
     PUBSCREEN   - Name of public screen for CBE to pop up on. Workbench as 
                   default.  This also tells where to open MultiView.
                   (Even if USEFRONTSCREEN is used)
     USEFRONTSCREEN - Will open CBE on the front most screen rather than
                       always on the default Public screen.  (YES/NO)
                       YES for this tooltype takes precedence over PUBSCRNAME.
     SHOWCTRL    - YES will show CTRL codes, NO will show '.'(dots) in the list.
                   Character '\0" will always be displayed as a '·'(bullet).
                   This will normally only happen for unknow IFF types.

     !!NOTE:  that USEFRONTSCREEN is NOT a system friendly method of doing 
              things.  You may cause system problems if you close a screen that
              CBE is open on.  You have been warned.
              
     The ZOOM gadget works slightly different under KS3.x than KS2.x.  Under
        KS3.x, if you specify a -1 for ZOOMTOP/ZOOMLEFT, the window will shrink
        down at the window's current location.  Under 2.x, this feature does not
        exist, so the ZOOM gadget shrinks the window to it's starting position.
@endnode

@node "MENU" "Menu Items"

    @{b}Menu Items@{ub}

  ·  ABOUT
     Displays the ABOUT requester.  This will tell who CBE is registered
     to (if anyone), will show the hot key used to bring up CBE's window,
     as well as the Public Screen name that CBE is to appear on, and
     now also show the number of clipboard units used.

  ·  Open
     Allows the user to open any file and place it into the clipboard.

  ·  Save
     Allows the user to save the current item as a file.

  ·  Hide
     Hides the window.

  ·  Quit
     Quits CBE.  Brings up a requester to verify your choice.

  ·  Clear ALL, Clear FREE, Clear Unit 0
     Allows the user to clear CBE's history.  ALL and FREE work as described
     above.  Unit 0 will allow you to clear ONLY clipboard unit 0...the history
     buffers are not effected.

  ·  Jump Screen
     Move CBE window to the next screen, and bring that screen to the front.

  ·  Update
     Free CBE history buffer, and re-read all clipboard units.
@endnode

@node "ARexx" "ARexx support"


     @{b}ARexx support@{ub}

  ·  CBE has ARexx support, as all software should by now.  The portname is:
       @{fg highlight}CBERexx.1@{fg text}
     This ARexx support functions are rather simplistic, but gives the
     user the capability to do anything he/she can do from the user
     interface.
     (<> denote required arguments, and [] denote optional arguments.)

  ·  @{b}QUIT@{ub}
     No parameter are given.  CBE will simply clean up and exit.

  ·  @{b}LOCK@{ub} [item]  :  item = 1 though MAXUNITS.
     Sets the lock on the currently selected item.
     If [item] is given, the specified item will have it's lock set.
     [item] is relative to the displayed data.

  ·  @{b}FREE@{ub} [item]  :  item = 1 though MAXUNITS.
     Frees the lock on the currently selected item.
     If [item] is given, the specified item will have it's lock freed.
     [item] is relative to the displayed data.

  ·  @{b}SELECT@{ub} <item>  :  item = 1 though MAXUNITS
     Makes the specified item the currently selected item.
     <item> is required.
     <item> is relative to the displayed data in the listview.

  ·  @{b}VIEW@{ub} [item]  :  item = 1 through MAXUNITS
     Views the currently selected item
     If [item] is given, the specified item will be viewed.
     [item] is relative to the displayed data.

  ·  @{b}UPDATE@{ub}
     Same as selecting the update button.  UPDATE will free and
     re-read all clipboard data.

  ·  @{b}INACTIVE@{ub}
     Will deactivate CBE's commodity key input features.  These include
     The reserved keys, and hotkey window popup.  CBE will also not listen
     for changes inn the clipboard, so the list will not change.
     You are still allowed to use the GUI, and paste from the items in
     the review list.    Same as INACTIVE from Commodities Exchange.

  ·  @{b}ACTIVE@{ub}
     Will make CBE active again.  Same as ACTIVE in commodities Exchange.

  ·  @{b}COPY@{ub} [key num]  :  1-10 (or as many keys defined).
     Copy will simply send an [RAMIGA-c] to the system.  If [key num] is
     Specified, CBE will copy the data into the specified reserved key
     number.

  ·  @{b}PASTE@{ub} [key num]  :  1-10 (or as many keys defined).
     This will paste the current contents to the active clipboard
     unit by sending an [RAMIGA-v] to the system.
     If [key num] is given, the specified reserved key number will have it's
     data copied to clipboard unit 0 before the [RAMIGA-v] is given.

     !!NOTE:  PASTE will ALWAYS paste from what is in unit 0.  Remember the
          reserved keys sequence first copies it's data into unit 0.  If
          simply do a PASTE again with NO unit specifier, the same data
          from the reserved key will be pasted again.  This offers some
          speed increase, but also possible confusion as you really do
          not know what might be in unit 0 at any given time this way.

  ·  WINDOW <SHOW | HIDE | JUMP>
            If the USEFRONTSCREEN tooltype is set to YES, 

     SHOW will bring the window to the front of the frontmost screen.  The
     window will be opened if needed.  If USEFRONTSCREEN is set to NO, CBE will
     open on it's previously used public screen.

     HIDE will close CBE's window, but leave the main program active.

     JUMP will force the window onto the next screen.

     If USEFRONTSCREEN is set to YES, be sure to Use only when necessary,
     remember this is NOT a nice thing to do to the system.  Although no damage
     is caused from normal operation, the danger comes in when a screen tries to
     close when it does not know about CBE being there.  The result of this
     action can range from keeping a screen open permanently to a system crash.
     @{i}JUMP is perfectly safe if USEFRONTSCREEN=NO@{ui}.

  ·  CLEAR [item | FREE | ALL]
     Clears the currently selected item.  If item is given, the
     specified item will be cleared.  [item] is as above in VIEW, etc...
     FREE will clear all non-locked items.
     ALL will free every item in the review list.

  ·  OPEN [filename]
     Loads any file into the clipboard.  A file requester will be displayed
     if no file name is given.

  ·  SAVE [filename]
     Saves the selected item to disk.  A file requester will be displayed
     if no file name is given.

  ·  ISLOCKED [item]
     Returns 1 if the selected item has it's LOCKed flag set.  If [item]
     is given, the result is based on the item number given.
     1 = locked, 0 = free.

  ·  NUMCLIPS{ub}
        Returns how many items are currently in the clips history buffer.

  A simple ARexx script has been included merely to allow the user to test these features.

     CBERexx.rx:
  =-------- cut here -----------------=
     /*  CBE ARexx port tester  */
     PARSE ARG CBEcmd

     ADDRESS CBERexx.1 CBEcmd
  =-------- cut here -----------------=

     Example Usage:    rx CBERexx.rx  WINDOW HIDE


     !!NOTE:  One simple note to ARexx programming.  There is no locking
          mechanism through the Amiga system for the clipboard device.
          What I mean is, just because you may do a COPY command and
          immediately follow it with a PASTE command, there is no 100%
          guarantee that the data will remain the same.  This is really
          only a concern if some one does not know what is going on,
          and they can clip data REALLY, REALLY fast.
@endnode

@node "ReservedKeys" "Reserved keys"


     @{b}Reserved Keys@{ub}

  You may reserve up to 10 clipboard units for the use of quick access key cut/copy/paste
actions.

  As defaults, the function keys are used for these reserved keys" You must use the @{"ToolTypes" link "ToolTypes" 0}
to assign keys to any, all 10, (or none) of the units.  If you set a COPY key, you must set
PASTE KEY for the same number. Failure to do so will eliminate the use of both functions for
either key without a matching Copy/Paste key @{"ToolTypes" link "ToolTypes" 0}.

  All reserved keys reserve the last allowed clipboard units.  These may move depending on user
actions, but the data will not be affected by normal copy actions due to the locking feature of
CBE.  If you unlock any of the reserved key units, the data stored there may be changed when
another cut/copy action takes place.

  To use the reserved keys, just highlight the data in any application that you want to copy.
(Do this in the normal way for the application in use).  When you press (default as an
example...) [lalt shift f1], the data will be copied into the active clipboard unit and it will
also be copied into the review list as normal.

  i.e.  You have 5 keys reserved, f1-f5 with SHIFT ALT for Copy actions, and lets say just for
S&G's you have f6-f10 with the same qualifiers for Paste actions.  Go to you application
(CygnusEd is good), highlight some text, and do [RAMIGA-c].  Do this a few times while CBE's
window is visible.  You will see the list change with each copy action.  Now highlight some
text and press your [shift alt f4] key combination you will see a new item at the bottom of the
display.  This item will also have the '=' lock character showing it to be used by one of the
reserved keys.

 You may now do [RAMIGA-v] to paste as normal or [alt shift f9] to paste the data back.  (Note
f9 corresponded with the f4 above).  Now highlight and clip text the normal way using
[RAMIGA-c], and you will see the 'Free' part of the review list change, but your reserved key
does not change.  Now you may press [alt shift f9] and paste that reserved data back.  Pretty
nifty eh?  You may now paste this item as you would any other. This is handy for custom
Copy/Paste operations using A@{"Rexx " link "ARexx" 0}from another  application I suppose.

The following are valid qualifiers and keys  Just as for HotKeys:

     lshift    rshift    shift    (Left right, or either shift key)
     lcommand  rcommand           (Left or right Amiga keys)
     lalt      ralt      alt      (Left, right, or either Alt key)
     capslock  caps               (Capslock key, or ANY shift/capslock)
     ctlr                         (CTRL key)
     leftbutton midbutton rbutton (Mouse buttons)

     The following keys as well as any normal keyboard keys are valid:

     space backspace tab enter
     return esc del up down left  ( other misc keys  )
     right f1...f10 help

 You may be wondering exactly why CBE requires an application that uses clipboard unit number 0
to work properly.  The reason is simple in that all CBE does is set what are called "Call-back
hooks" in the system for Clipboard unit 0, so it "hears" all Cut/Copy actions to that clipboard
unit.  Also the reserved keys simply send a [RAMIGA-c] to the system.  This does a generic Copy
command, then CBE will copy this data into the specified unit for that key.
  For pasting just the opposite is done.  CBE will copy the data from the selected reserved key
into clipboard unit 0, then CBE will send an [RAMIGA-v] key sequence, thus pasting the data to
your application.

  Pretty simple isn't it.  Now why wasn't this done years ago??!!??!!

  OK, so you now have a program such as PowerSnap/SnapIt, or even Terminus.  These programs
copy the data without you needing to hit [RAMIGA-c].  In fact you cannot even if you wanted to.
So, does CBE's reserved keys work with these programs?  Of course, but you must do things in a
slightly different way.... Normally you highlight the text, then press the key combination to
Copy the data.  Well since there is no time allowed for you to do this, simply press the
reserved key sequence BEFORE you highlight or box the text from these programs.  If nothing is
available for the clipboard when a copy command is sent, the system will wait until something
is sent to the clipboard device.  CBE will then intercept this and put the data into the
correct slot.
  I wish I could take credit for this, but it is a fine side effect of the clipboard device
itself.
@endnode

@node "Weird" "Weird Things/Bug List"


     @{b}Weird things / Bug list@{ub}

  This version of CBE has no bugs that I am aware of.  All have been eliminated or worked
around safely.

  · When using the cursor keys with KS2.04, the ListView does not scroll
    it's contents when the selected item goes out of view.  Also, this 
    version of the OS does not highlight it's current item, but instead
    creates a string box at the bottom of the display.  This has the effect
    of displaying only LISTLINES-2 lines in the display.
    I used to disable the cursor keys for KS < 3.0, but decided to allow
    their use for lower OS versions anyway.  The cursor keys work as expected
    with KS3.0 and above.

  · It seems that Terminus does not correctly read the input stream.  
    If you AutoInsert data from CBE to Terminus's window, it thinks
    that a SHIFT-AMIGA-V was done, and will insert the Quote String
    as well as your data.  I defintely use a lowercase 'v' in my code.

  Please report any bugs, enforcer or mungwall hits, etc...  I need your help to make CBE the
best possible program for all users. Any suggestions for appearance, or usefulness are always
welcome.

     CBE has been tested on:
          A1200/030   OS3.0
          A3000/030   OS2.04
          A1200/020   OS3.0
          A2000/020   OS2.1
          A4000/040   OS3.1
          A4000/030ec OS3.1
          A1000/010   OS2.1

     CBE was created on:
          A1200 w/ CSA's 12-Guage 50MHz 68030/68882 with 8M Fast RAM,
               420M of HD space, external 880K floppy, internal 1440K
               floppy, Chinon-535 CD-ROM, Archive-Viper tape backup unit,
               Supra 14.4 modem, HP500 DeskJet...blah, blah, blah...

     and was written in C and assembly using SAS/C 6.51, nearly a case of Mt Dew
     each day, a lot of pizzas, a lot of chocolate, and very little sleep.
     Please help support my chocolate addiction. :-)
@endnode

@node "Revisions" "Revisions"


   @{b}Revisions:  ( '-' =Bug fixes, '+' =Additions or improvements. )@{ub}

   V3.5 (06-Oct-94)-The CANCEL selection was ignored for Open/Save.
                    Would open/save anyway. (For those who could Open/Save.)
                   +Added info to ABOUT window for number of clips in use.
                   +Updated docs again.  Hopefully easier to read.
                   +Now allow KS2.04 users to use the cursor keys to select
                    items from the display box.  See @{"Weird things/Bugs" link "Weird" 0}.

   V3.4 (03-Oct-94)+Better size checking of clip display.  No longer prints '»'
                    if the clipped data is exact size of list view.
                   +Display more usefull info for IFF data.
                    If any text exists (CHRS chunk) within a clip, it's
                    data is displayed.  (Final Writer clips are now shown
                    to some extent.  Other may be as well.)
                    Graphical and audio clips will be searched for a NAME chunk,
                    and that name will be displayed in the list view.  If no
                    name can be found, the samples/sec will be displayed for
                    sounds.  Width/height/depth will be dispayed for graphic
                    clips.  Unknow clip types will disply the clip type, and 
                    attempt to display the first bytes of data as CBE did 
                    previously.
                   +Slight enhancement and additions to ARexx features.
                   +Jump button now works with Public Screens.
                   +Pressing SHIFT with arrow keys now implemented. See docs on
                    using the arrow keys with different OS versions.
                   +If no data has been clipped to unit 0, CBE will not
                    show any items as selected anymore.  You must first
                    select an item to put into unit 0.

   V3.3 (06-Jul-94)+Changed default viewer from "Sys:Utilities/MultiView" to
                    just "MultiView".  Full path no longer specified.
                    This allows user's own paths to be used.
                   +Added SHOWCTRL tooltype.
        (18-Jun-94)+Pressing the [J]ump button will now center the button itself
                    under the mouse rather than centering the window.  Using the
                    keyboard or menus still centers the window as normal.

   V3.2 (06-May-94)-Window now opens centered on mouse correctly.
    Not released   +Added SaveLocks feature.
    publicly       -Fixed Enforcer hit when no OPENDIR/SAVEDIR given.

   V3.1a(29-Apr-94)-V3.0/3.1 used a KS V39 function SetWindowPointer()
                    to set the busy pointer.  This no longer happens under
                    KS less than V39.  I still use the 3.0 function for
                    the operating systems that can handle it.

   V3.1 (23-Apr-94)+All input now blocked while BUSY pointer is displayed.
                   +Press [RETURN] to auto HIDE+PASTE.
                   -Could not clear Unit0 if no items were in the history list.
                   -If all clips were deleted from CLIPS: and UPDATE was done,
                    and data still existed in clipboard unit 0, then the
                    listview box would not display that data.  It does now.

   V3.0 (15-Apr-94) About 75% re-written from scratch.
                   +Removed empty items from display.
                   +Removed useless Up/Down/Top/End garbage.
                   +Selected item is immediately placed in Clipboard Unit 0.
                   +ToolTypes, GUI, and Menus adhere better to OS2.0 standards.
                   +Can now chose display height and width.
                   +MultiView may now be opened on PUBSCREEN.
                   -Now that the selected item is always placed into clipboard
                     unit 0, the bug in MultiView no longer causes Enforcer
                     Hits.  (or at least decreases them)
                   -Enforcer hit when attempting to open on a PUBSCREEN that
                     does not exist is now fixed.
                   +Added Busy pointer during requesters, and Update.

    V2.4 and below are too obsolete to worry about revision history.  
    Besides, V3.0 is nearly a total re-write.
@endnode

@node "Thanks" "Thanks"

     @{b}I'd like to thank:@{ub}

     Jan van den Baard for GadgetToolsBox,
     Jerry Cheung for the icons.
     Nicola Slamoria for near endless patience and suggestions.

     Donald Feldbrugge for his latest suggestions.  See registering helps.

     The makers of "Mountain Dew" for keeping me awake.
     Trent Reznor, for "PLHM", one of the greatest albums ever produced.
@endnode

@node "To Do" "Things left to do"

     @{b}To Do:@{ub}

     ·  Any good ideas you suggest...
@endnode

@node "About the Author" "About the Author"

     @{b}How to get in touch with the author:@{ub}

     E-mail to:  anthonym@alpha1.csd.uwm.edu
                 This address will not be good for much longer.
                 I can be reached through "pink@csd.uwm.edu"
                 !!Make sure Subject: anthonym


     US Snail:
                 Anthony J. Moringello
                 2209 E. Park Pl. #4
                 Milwaukee, WI 53211
                 USA


     -----BEGIN PGP PUBLIC KEY BLOCK-----
     Version: 2.3a

     mQBNAi15ROwAAAECAKG3ihMbC5/1zz9iEWBbgd8NBLDj2/XRhkQIrNU8K4IrW8zd
     7PzL+B2oX1YrqUPWMHpZYDx2q2AdDX3I+VCX/n0ABRG0MkFudGhvbnkgSiBNb3Jp
     bmdlbGxvIDxhbnRob255bUBhbHBoYTEuY3NkLnV3bS5lZHU+
     =OpxA
     -----END PGP PUBLIC KEY BLOCK-----
@endnode

@node "Register" "Registration"

    
     @{b}Registering CBE@{ub}

     Registered version of CBE will include working Open and Save functions
     which allow you to load and save data to and from the clipboard.
     The registered version will also not display the about requester
     unless you of course select "About" from the menu.

     When you register, please include the following information:

     Name      (These three items are)
     Address   (of course required!)
     "CBE"     - Tell me which program you want.

     E-Mail address if any.
     Model (A1000, 2000, 3000, 1200, 4000, etc...)
     CPU (68000, 020, 030, 040, etc...)
     Amount of RAM,
     and KS/WB version.  (OS2.04, OS3.1, etc...)

     These lasts items are @{u}not@{uu} required, but will help me determine 
     what changes may be needed to make my program appeal to more users.

     @{fg highlight}All information is kept private.@{fg text}
@endnode

