

             CHANGES MADE TO ANGIE SINCE VERSION 1.0 - HISTORY
             -------------------------------------------------

  v1.0 20.10.93 [fSchwarz]

  v1.1 22.10.93 [fSchwarz] improved setDefPubScreen action
    fixed ActivateXXXXScreen; fixed Menu Attrs selection

  v1.2 23.10.93 [fSchwarz] doesn't send any closeWindow
    event on Close action when window is blocked by
    requesters.

  v1.3 24.10.93 [fSchwarz] added Edithook for hotkey
    definition gadget

  v1.4a 29.10.93 [fSchwarz] major code cleanup; now
    supports dos command and inputevent insertion type

  v1.5 4.11.93 [fSchwarz] now really uses the frontmost
    window of screens instead of just screen.firstWindow;
    improved Key Screen Activation handling for screens
    without windows

  v1.6 4.11.93 [fSchwarz] removed last Intuition stuff from
    cxcustom inputhandler - now all accesses to Intuition
    structures are safeguarded by official CBM protocols;
    enhanced Intuition/GadTools V37 GUI

  v1.7 7.11.93 [fSchwarz] now accounts the fact that
    ViewPortExtra.displayClip is volatile and dependent on
    the displayids of both, the affected screen & the front
    screen; improved timing in msghandler (results in faster
    Auto-Hunts when receiving many CxMsgs consecutively
    and in better hotkey recursion capabilities); now
    needs BlackMagic 1.14; fixed nasty Enforcer hit in
    DefinitionProc() that turned out very rarely and was
    due to use of post-freed memory (which was usually
    immediately reallocated, so Enforcer/Mungwall hardly
    ever noticed it); improved Intuition left mouse button
    effective detection

  v2.0 11.11.93 [fSchwarz] Angie is now completely localized;
    fixed rare timing problems that were due to rearranging
    Intuition related KeyScreenActivation stuff from the
    the cxcustom handler to the main task; changed again
    KeyScreenActivation handling; complete code heavily
    revised & updated to ensure optimal ergonomics when
    there's no current active window, yet an active screen;
    now right mouse button blocks all Auto-Hunt (it doesn't
    block hotkey-(attribute)-based hunts, though!);
    former WinToFront attribute changed to 'ToFront': *If
    and only if* the hotkey action doesn't involve a window,
    but a screen, the attribute causes a ScreenToFront()
    instead of a simple WindowToFront(). HuntWindow action
    now hunts the active screen if no active window exists;
    the KeyScreenActivation considers that case, too.
    Most window-related hotkey-actions (except Hunt) now
    simply activate the BestWindow() if there exists no
    active window (ToFront/Hunt according to the hotkey
    attrs); optimized LastActive-Action (now activates the
    frontmost window of the last window's screen if the
    last window doesn't exist any more, but the screen it
    was opened on, and that screen differs from the active
    one). Added Capslock-AutoHunt-mode (default!): capslock
    is alienated as an inverse Auto-Hunt toggle switch, all
    capslock events & capslock qualifier in inputevents
    are eliminated.; Now cxcustom handler code runs at
    three different priorities. Moved some IntuitionBase
    related window code to own module. Angie's minimum
    taskpri is now 5; wintask priority increment only
    happens if resulting priority isn't greater than
    Angie's taskpri. Added 'New', 'Read Settings' &
    'Restore settings' to the project menu; remembers also
    the second last window/screen for LastActive/
    LastActiveScr actions; general changes in the code to
    obtain better ergonomics in many places; added
    'DEFAULTPREFS' argument (especially for CLI): loads
    the configuration stored in PROGDIR:Angie.info.
    Angie now requires CxLib V1.1 with ArgArrayDiskObj().
    All tooltypes longer than 128 chars (the official
    length limit as of the RKMs) are now split by Angie
    for the icon writing (fixes problems with Workbench's
    Icon->Information menu item that prunes all longer
    tooltypes). Main module is now split into three modules.
    Plus several changes I forgot to mention here.

  v3.0 19.11.93 [fSchwarz] COMPLETELY NEW CONCEPT: Angie-
    Sequences, consisting of multiple Angie actions, ascii
    text, commodities input descriptions, & async / sync
    dos command sequences are now assigned to the hotkeys.
    The ToFront attribute is now replaced by a 'NoFilter'
    attribute (the ToFront attribute may now be specified
    separately for each item of an AngieSequence). Angie
    parses now qualifier keystrokes like 'LALT_PRESS' in
    input descriptions - along with mouse button keystrokes
    in input descriptions even for V37 commodities users;
    simple NoScrActivate pseudo hotkeys now work for V37,
    too (own ParseIX() extension, own V37 MatchIX()).
    fixed NewMenu array size of the edit menu. For
    proportional fonts, gimmeZeroZero windows are used in
    conjunction with other slLevelFormat - this fixes V37
    level display problems and keeps the window borders
    from messing up in those rare cases where the nominal
    proportional font's width is utterly misleading.
    Invocation of WindowToFront() is now omitted if the
    respective window is already the screen's frontmost
    window (results in much better performance for
    gimmeZeroZero windows). GetBestWin() now accounts that
    visible screens may follow after invisible screens in
    the IntuitionBase screen list. cx_pri slider step is
    now level-adaptive (like snoopdelay/stabletime sliders)
    A new tooltype format for hotkeys is now used - old
    format can still be read. Another new (default!)
    auto hunt mode is provided: CapsLock1 (functionality
    is the same as for the old CapsLock mode which is now
    called CapsLock2, except that capslock keystrokes & the
    capslock qualifier in the ievents are left untouched).

  v3.1 22.11.93 [fSchwarz] removed all code where
    LockLayerInfo() is called directly or indirectly with
    a locked IntuitionBase due to very unlikely deadlock
    situations that may arise from LockLayerInfo() when
    IBase is locked. Other protocol to avoid illegal
    mem access & to ensure valid window pointer is used
    instead. Distribution now includes my SetActiveWin
    and MagicPubName shell utilities that can be perfectly
    used in SyncDosSequences. In order to disencourage
    you from abusing SyncDosSequences for launching
    interactive stuff, etc, and in order to improve
    performance, SyncDosSequences are now executed without
    new I/O channels & with the same priority Angie is
    running. Fixed bug that kept Angie from activating
    the BestWindow for most Intuition actions in case
    no active window exists (bug was due to the severe
    code changes that were necessary for inventing the
    AngieSequence concept)

  v3.2 23.11.93 [fSchwarz] all CxMsgs of cxmIEvent type
    that are older than 2.5 seconds are discarded by the
    msghandler now; rearranged msghandler code - this
    fixes all backlog problems and makes the GUI accessable
    even when Angie is busy with CxMsgs & AutoHunt. Support
    for proportional fonts has now greatly improved: all
    strings in Angie's window are now accounted for
    calculating the window width - even for the most
    excentric proportional fonts, display won't mess up.
    The distribution now includes full-featured German
    docs, another utility (RawInsert) for DosSequences
    and SetActiveWin 1.1 (V1.0 could cause Intuition 
    deadlocks!)

  v3.3 24.11.93 [fSchwarz] Strangely, AddIEvents() doesn't
    set the timeStamp of the InputEvents as opposed to
    the v37 input device writeEvent command - this caused
    problems in conjunction with the anti backlog handling
    that was invented in Angie 3.2, so Angie itself now
    sets the TimeStamp. The same problem was present in the
    RawInsert utility - now fixed in RawInsert 1.1;
    improved performance & minimized gadget/menu refresh
    for hotkey list browsing.

  v3.3a 25.11.93 [fSchwarz] fixed another small bug that
    was due to the code changes for the AngieSequence
    concept (scrActivateMagic const had to be set to a
    unique value outside the range of AngieSequence ids)

  v3.5 1.12.93 [fSchwarz] added AREXX interface for
    executing AngieSequences from outside Angie. Fixed
    bug in the SetActiveWin utility that frustrated
    activation of windows on non-public screens (V1.2)

  v3.6 3.12.93 [fSchwarz] adapted to Amiga-Oberon 3.10,
    fixed active/inactive state handling (now arexx works
    great even if Angie is in inactive state); fixed error
    exit code; introduced ''-lineFeedMagic as a linefeed
    substitute within dos_command_sequences.
    !!! THIS IS the last revision for 1993 !!!


