New Email and Web Addresses
---------------------------

Gribnif Software has a new email address and Web page. The old email
address is still valid, for the time being.

  Gribnif Software
  PO Box 779
  Northampton, MA 01061-0779

  Tel: (413) 532-2434
  Fax: (413) 532-2540

  email: gribnif@pair.com
  Web:   http://www.pair.com/gribnif


Updating to Geneva release 005
------------------------------

To update to the new version, follow these steps:

1. If you intend to keep the old version around for some reason, be sure
   to make a backup of all files.

2. Make a backup of your original Geneva disks!

3. Run the enclosed patch program, PATCH005.PRG. The Master and Extras
   disks will both be modified.

4. After the patch has successfully completed, run the INSTALL.PRG on the
   modified Master disk. It will re-install all of the new files. If you
   get an error message saying that an old file already exists, just let
   the program overwrite the old file. If you have custom flags saved in
   your GENEVA.CNF file, you can tell the install program to Skip this
   file instead.

Files modified by the patch program:

  Master Disk
  
    \GENEVA\GENEVA.PRG
            GENEVA.CNF
            HELP\GNVAHELP.PRG
                 TASKMAN.HLP
                 GENEVA.HLP
    \PROGRAM\GNVA_DB.PRG
    \TASKMAN\TASKMAN.ACC
             TASKMAN.RSC

  Extras Disk

    \FILES.TXT
    \GMACDEMO\GNVA_MAC.PRG          Folder added: Geneva Macros 2.0 Demo
              GNVA_MAC.RSC
              GMACDEMO.TXT
    \GNVARUN\GNVARUN.PRG
             GNVARUN.RSC
             GNVARUN.HLP
    \PROGRAM\NEW_GEM.LIB
             XWIND.H
             MAKEHELP\MAKEHELP.TTP
                      MAKEHELP.HLP
                      TEST.HS
                      TEST.HLP
             TASKMAN\               Folder is removed
             TASKMAN.SFX            Replacement for folder:
                                      self-extracting archive


If you have problems with the patch
-----------------------------------

If, for some reason, the patch program does not run properly you can send
your original Geneva disks back to us along with a check for $5 + $2 to
cover return shipping. We will rewrite the disks with the most recent
version and return them to you by mail. Send to:

  Gribnif Software
  P.O. Box 779
  Northampton, MA  01061

If you purchased the patch program on a disk directly from us, then just
include the $2 for shipping, and both disks.


Changes in TASKMAN
------------------

  There is a new option in the Task Manager, "Top all windows when
    switching".  When active, every time you switch to a new app, all of
    its windows are placed on top. The redrawing can be a little annoying,
    so it's optional.

  The path used by the "?" button in the Permanent Execution Flags dialog
    no longer resets every time the button is used. However, it is still
    not saved permanently.

  The window's size should no longer sometimes become "stuck" in the
    vertical direction.


Changes in GNVAHELP
-------------------

  You can now single-click on underlined topics to jump to a new screen,
    instead of having to double-click.
  
  If the Geneva Help Viewer is run manually, any subsequent requests for
    help from a program will be carried out by the first copy of the
    Viewer, rather than running a second copy.

  GNVAHELP can now read any number of lines per screen of help text.

  If GNVAHELP is iconified when another application requests a help file,
    the window is now uniconified and the new file is displayed.


Changes in GNVARUN
------------------

  GenevaRun can now start NPI files when NeoDesk is present. It uses the
    AV_ protocol to tell Neo to start the program the NPI is referring to.
    This feature is optional, hence a new option in the Options dialog,
    "Use NeoDesk AV extensions".

  Some improvements were made to the way GenevaRun detects the presence of
    an AV Server.

  When group and NeoDesk NPI files are added to a group, GenevaRun now
    reads their 20-character filenames.

  An NPI can now have a document associated with it, much the same way a
    program already could in the previous version. Clicking on the
    document will run the program specified in the NPI and open the
    document. To set this up, do the following:

    o Select the data file
    o Select the Edit->Info menu entry
    o Choose File Passing
    o Select the NPI in the group window
    o Click on the Read button in the Info dialog

    Note that NeoDesk 4/005 will not read the passed document name if the
    NPI is set to "Edit parameters".


Changes in Geneva
-----------------

  Item Selector
  -------------

  When items are copied or moved in the item selector, the destination
    path is visible after the operation has finished, rather than the source.
  
  When using the item selector to move a file to another folder on the same
    drive where a file with the same name already exists, the old file is
    now correctly overwritten with the new one.


  New Features in the Main Program
  --------------------------------

  There is a new option in the Task Manager, "Top all windows when
    switching".  When active, every time you switch to a new app, all of
    its windows are placed on top. The redrawing can be a little annoying,
    so it's optional.

  The "Sleep Others or Sleep This?" alert has a new option to Cancel.

  Geneva now includes some special code to help decrease memory
    fragmentation.

  If a program tries to access a drive that does not exist (like a negative
    drive number), Geneva now gives you an alert warning you to reboot the
    computer. When this happens TOS can get very confused, try to access
    the floppy drive, and may eventually crash.

  A new process manager has been added. While it has some of the same
    functionality as the Task Manager's Sleep/Terminate features, it also
    provides some technical information for programmers. It can be
    activated whenever some program is actually using the AES by pressing
    Control-Shift-Alternate-keypad *. If you are using MiNT, the process
    manager is available any time. Either way, it is often available at
    times when it would be impossible to get to the Task Manager or the
    Desk menu.

    In the list, desk accessories appear with an open circle before their
    name, just as they do in the Task Manager. If you are using MiNT, then
    any process that does not use the AES will appear here with a filled
    circle before its name.  The three main states for the Sleep column are
    as follows:

      sleep  You have put it to sleep
      child  The application launched a new app in a non-multitasking way
      singl  There is a singletasking application running

      Under MiNT, if the process does not use the AES, then it will have
      one of these labels in this column:

      run    The process is currently running (probably GMANAGER)
      ready  Is ready to run
      wait   Waiting for some event to happen
      iowait Waiting for some sort of keyboard/file input
      zombie Terminated, but still in memory for some reason
      tsr    Terminate-stay-resident
      stop   Stopped (asleep)

    The Terminate function can be used on any process. However, it is a bad
    idea to terminate any process with the name GENEVA or MINT.

    The Sleep state of any application can be toggled using the Sleep
    button. If you make multiple selections in the list by holding the
    Shift key, each process is toggled separately. If an entry is in
    "child" or "singl" state, its sleep mode cannot be changed, and
    clicking on the Sleep button will have no effect.

    By clicking on the "Details" button, you can get a listing of some more
    unusual flags concerning each process, most of which are probably of
    use only to programmers.

  When using keyboard mode to navigate a menu that is in an odd order,
    pressing the up/down arrow keys on the keyboard will not cause the
    selected entry to jump around. It is now sequential.

  When using keyboard mode to navigate a menu, any disabled entries are
    automatically skipped over as you press the up/down arrow keys.


  Other Changes in the Main Program
  ---------------------------------

  Geneva once again works with the ScreenBlaster.

  If GENEVA.CNF is loaded from the root directory, saving settings in a
    Geneva program like TASKMAN will no longer cause a new CNF file to be
    written to the \GENEVA folder. The old file is modified instead.

  If the menu bar of a Geneva-aware application (like NeoDesk) is in use
    and you type an ASCII code on the keypad with Alternate held down or
    use Geneva Manager's ASCII table, the character is sent properly.

  Previously, if one of a program's menus was in an odd order, there was a
    chance that some of the entries would not be displayed.

  MiNT should now work much much more reliably, and quickly as well. This
    version is like night and day compared to 004.

  When Geneva first runs as a program from the desktop or from the MINT.CNF
    file, any environmental variables passed to it are set up as part of
    the environment passed to future applications Geneva runs. This
    basically means that if you use MiNT you don't have to list variables
    in both MINT.CNF and GEM.CNF. However, any variable appearing in
    GEM.CNF with the same name as a passed variable will override the
    passed variable.

  If a desk accessory is launched in singletasking mode, its name will no
    longer appear in small text in the Desk menu. The Multitasking flag has
    no effect at all for accessories.

  Fixed a problem that would sometimes cause applications to freeze up
    after another application had been terminated using the Desk menu.

  Fixed a rare case where using a realtime scroll bar could result in
    garbage on the screen.

  If a popup menu is started when the mouse is outside the popup and the
    mouse button it not being held, the popup starts off in keyboard mode.
    This means that you get the correct visual feedback when doing things
    like activating the Find command in the item selector's Tools menu by
    pressing [Alt][T] [F].

  If an Applications tearaway menu is on the screen when switching to
    singletasking mode, it is now closed properly.

  When quitting a singletasking app with the "Keep menu bar/desktop" flag
    on, the menu bar is now restored properly.

  In situations where the Geneva Manager menu bar would become active as a
    default, the shell's menu bar will instead become active, if available.

  Geneva now installs its own MIDI handler, which should avoid some
    problems with lost data that can occur with TOS's handler. Of course,
    the MIDI port has no flow control, so when the buffer fills up there
    will still be data lost.

  If the Applications menu is torn-away while it has up/down scroll arrows,
    the height of the resulting window is now correct.

  The main Applications menu now scrolls correctly in keyboard mode.

  Double-clicking on the file selector's Help screen does not run the risk
    of crashing.

  Macro playback using Geneva Macros (or just appl_tplay) on a Falcon will
    no longer result in the "phantom Esc key" syndrome.

  GNVA_DB.PRG will no longer crash when using the Desk menu.


  More esoteric changes...
  ------------------------

  Fixed still more problems with popup menus having submenus (STFAX in ACC
    mode).

  An application that is started by chaining from a singletasking app is no
    longer passed a copy of the commandline arguments in the ARGV
    environmental variable.

  If a dialog has a hidden exit button, it is now activated by the Return
    key in form_do(). (El_Cal)

  The appl_find() modes involving MiNT ID's will no longer crash in Geneva.
    Note, however, that if you are using NeoDesk 4 005 or older and the
    "Use NeoDesk as AV Server" option is on, you will still get a crash due
    to a bug in NeoDesk.

  Calling objc_change() with a nonsensical clipping rectangle will not
    matter if the object being drawn is a G_USERDEF. (Texel)

  When quitting a singletasking app, a CH_EXIT message is now sent to its
    parent.

  If the help viewer's name (as set using the SHOWHELP variable in
    GEM.CNF) does not start with GNVA*, then the help topic is requested
    using the AC_HELP message. The result is that ST-Guide can be used as
    the Geneva help viewer, and can be called using the x_help() function.

  Button events are passed to a singletasking application with no windows
    open. (ARCSHELL)

  The appl_tplay() function works again. (THOUGHT)

  When a window has no visible area underneath the split bar, the up/down
    scrolling keyboard equivalents work.

  If an object does not have its EDITABLE flag set, but it is the subject
    of an objc_edit() call, Geneva now ignores the missing flag if the
    object's type is correct (IMGCOPY).

  The opaque text flag is now always ignored for Atari-style 3D TEDINFO
    objects (CAB).

  The title of a torn-away menu will be blank if the object it is taken
    from is not a G_TITLE.

  Doing a wind_create() or wind_open() with the size and coordinates of the
    window set to -1 will open the window in the iconified state. This is
    for compatibility with an undocumented feature of AES 4.x.

  The shel_find() function is even less likely to return a path beginning
    with ".\" if the PATH variable contains ".,whatever".

  There will not be unpredictable results if shel_write() is given an empty
    path for the default directory.


Changes in MAKEHELP
-------------------

  HLP files can now have any number of lines per topic. When creating a HLP
    file, this is controlled with the "-n" option.

  The output format of a HLP file is adjusted automatically depending on
    the level of features used. For example, if graphics are used, the
    format is Geneva 004 compatible. However, if any screen is more than
    100 lines long, the file is marked as Geneva 005 compatible and cannot
    be loaded into the GNVAHELP that comes with 004 or into NeoDesk 4/005's
    built-in help viewer.

  In the HLP source file, a link's destination no longer needs to be the
    same as the underlined text. This applies to graphical buttons as well.
    See MAKEHELP.HLP for more information. Files created with this feature
    can be used with GNVAHELP 004 as well.

  Warning messages about missing keywords now have the line in the source
    file where the reference occurs.

  Fixed a problem having to do with the calculation of line numbers.

  Makehelp now properly removes trailing spaces on a /screen name.


Programming Changes
-------------------

  XWIND.H has been updated to include the "Top all windows when switching"
  flag.


Changes in NEW_GEM.LIB
----------------------

  More AES 4.1 wind_get() modes are supported, most notably WF_UNICONIFY.
