  MGv 2.4.2: History
  Eric A. Howe (mu@trends.net)
  1998/04/16

  1.  History

  1.1.  MGv 2.4.2: April 1998

  o  Removed the SGI, CDE, and Xnt stubs in the help system.  I never
     had a chance to implement any of these and I no longer have access
     to an SGI or CDE system so I've removed the stubs.

  o  Removed all traces of Xmu from the Ghostview widget.  Many people
     seem to have old versions of libXmu or they don't have Xmu at all
     so Xmu had to go.

  o  Turned off editres support on AIX by default.

  1.2.  MGv 2.4.1: April 1998

  o  The wlib/resource.c file wasn't supposed to exist in 2.4 but I
     neglected to delete a CVS tag so it was there.  This caused some
     build problems because wlib/wlib/wlib.h didn't have the necessary
     prototypes for wlib/resource.c.  I have now properly killed
     wlib/resource.c.

  o  Added some missing null checks to some of the resource handling.
     The problem (a segfault) would only show up if MGv couldn't find
     one of the standard print commands in your PATH environment
     variable.

  o  Andrew 0. Smith <http://www.insync.net/~aos> informed me that
     Solaris's cc prefers -xO2 instead of the usual -O2 to get level two
     optimizations so I fixed the "make/sys.solaris-cc.mk" makefile.

  1.3.  MGv 2.4: March 1998

  o  Added the wlInstallIcon resource to control whether or not MGv
     installs its own icon when it runs.  If you want to use a different
     icon, then you can just set this resource to false and tell your
     window manager to use your icon.  Thanks to Hans Vahlenkamp
     <http://www.gfdl.gov/~hnv> for this suggestion.  SGI users can use
     one of the mgv.icon* files as their icon if they wish (the images
     are pretty cheesy, if anyone wants to donate a better one, please
     do).

  o  Made editres support configurable at run-time (via resources and
     switches) or compile-time.  I have had reports that that HP-UX
     10.20 doesn't come with editres support so I added a standard work-
     around.  HP-UX 10.20 users (and others without editres) should set
     mk-editres to no in the appropriate make/sys.*.mk file before
     compiling.

  o  One more little makefile hack for FreeBSD.  Thanks to Brian Handy
     <http://lambic.space.lockheed.com/~handy> for the patch.

  o  Added the Back and Forward entries to the popup menu.  These
     additions were based on a suggestion from Erik Luijten
     <http://www.cond-mat.physik.uni-mainz.de/~luijten>.

  o  Added the ability to read a PostScript file from the standard
     input.  You can save the standard input to a temporary file (this
     gives you full page navigation) or just read it as it comes in.
     Thanks to David Green for this suggestion.

  o  Increased the optimization level to -O2 on all platforms.  I don't
     think this will cause any problems.

  o  Finally fixed the current page not visible in the page list bug.
     You used to be able to move the selected item in the page list out
     of the visible range (i.e. if you're page list had room for ten
     items and you moved to page eleven with PageDown, the eleven in the
     page list wouldn't be visible).

  o  Added support for compressing, gzipping, and bzip2ing saved files.
     This was a quick and simple addition so I added it even though it
     has dubious utility.

  o  Merged the Mark|Mark Current Page and Mark|Unmark Current Page menu
     items.  The new entry (Mark|Mark/Unmark) toggles the state of the
     current page.

  o  Changed the behavior of the Mark|Mark Even Pages and Mark|Mark Odd
     Pages menu items so that they no longer unmark any pages.  Mark
     Even used to mark the even pages and unmark the odd pages, now it
     just marks the even pages and leaves the odd pages alone.
     Similarly, the Mark Odd command no longer unmarks the even pages.

  o  Some minor hacks for RedHat 5.0 systems.  There are still some
     outstanding linking problems (no surprises here) with commercial
     Motif libraries; LessTif should work though.

  o  Added "-W" to the compiler warning flags for all gcc setups.  This
     gives even more warnings the "-Wall -Werror -ansi -pedantic
     -Wmissing-prototypes" and this is good.

  o  Disabled gadgets when compiling with LessTif.  I only use gadgets
     to allow people to use funky background pixmaps with Motif 2.0+ so
     disabling gadgets really doesn't hurt anything (disabling gadgets
     was a simple, clean, isolated hack to wlib/create.c so it doesn't
     hurt me either).

  o  Updated the ``LessTif Problems'' section again.

  o  Fixed the error message when you try to open a non-existent file;
     MGv was using EPERM instead of errno so the message wasn't always
     accurate.

  o  Loosened up the DSC checks.  As long as the PostScript document
     begins with "%!" we'll scan for the structure comments.  DSC
     documents are supposed to start with "%!PS-Adobe-" and a version
     number but there are some naughty PostScript files out there.

  o  Fixed a couple of typos in wlib/wlib/dirtysocks.h that were causing
     problems on Sun machines with Sun's compiler.  Thanks go to Jean-
     Jacques Moulis <http://www.dtr.isy.liu.se/dtr/staff/jj> for letting
     me know about the problem.

  o  Added a warning message about unknown switches.  MGv used to try to
     open unknown switches as PostScript files but now it ignores such
     things.  As a side effect you'll have to do one of the standard
     Unix tricks (end the switches with "--" or use "./-blah") to open
     files which begin with a hyphen from the command line.  Thanks to
     David Green for this suggestion.

  o  I've changed ISPs once again so all references to echo-on.net have
     been converted to the new and improved trends.net.

  o  Added the Document Info dialog.

  o  Added the splash screen.  If you don't like my artwork, you're free
     to use your own by replacing the splash.xpm and/or splash.xbm files
     in the final library directory.  If you don't like splash screens
     at all, use the -nosplash switch or set the
     "mgv*wlShowSplashScreen" resource to False.

  o  Added support for sticky dialogs.  Some people don't like it when
     dialogs popdown just because you've hit OK (or equivalent).  See
     the autoDismiss resource and the Sticky Dialogs section for more
     information.  This only affects the File Save, Print, and Set
     Magstep dialogs.  This functionality is based on a suggestion from
     Carl Benker.

  1.4.  MGv 2.3.1: February 1998

  o  Modified the makefiles to know about and use ranlib if necessary.
     As far as I know, only FreeBSD (version 2.X at least) needs ranlib.
     This change also has the bonus side effect of allowing "make -j" to
     be used in the wlib directory (this may not matter to you but it is
     a big win on my K6-200); the only disadvantage is a slight increase
     in disk space when you're compiling.

  1.5.  MGv 2.3: February 1998

  o  Added a work-around for a bug in Motif 1.2.3.  If you moved one of
     the main scrollbars out of the default position and left it out of
     the default position, a File|Close would cause a segmentation fault
     deep inside Motif.  The problem was that MGv was trying to move the
     scrollbars in a widget that was in the process of dying, newer
     versions of Motif don't mind this but 1.2.3 was missing a check for
     this state.  Some versions of Motif 1.2.5 also appear to have this
     problem.

  o  Updated the ``LessTif Problems'' section; MGv and LessTif almost
     get along perfectly now.

  o  Added the gunzip and bunzip resources.  These resources replace the
     decompress resource but decompress remains as an alias for gunzip.
     These changes were made so that MGv could deal with bzip2ed files,
     bzip2 is much slower than gzip but offers better compression on
     many files.  You can get bzip2 from the bzip2 homepage
     <http://www.muraroa.demon.co.uk> or the bzip2 US mirror
     <http://www.digistar.com/bzip2/index.html>; you can also get bzip2
     anywhere that you can get the Gimp <http://www.gimp.org>.

  o  The resetScrollBars resource has been expanded to offer control
     over the horizontal and vertical scrollbars separately; this just
     means that you can have only the vertical scrollbar reset on page
     changes if you want.  The old boolean values, true and false, have
     been retained as aliases.  Thanks to Dmitri Kulginov
     <http://www.fy.chalmers.se/~kulginov> for this feature.

  o  Page list updates (during Mark All and Show Page Labels for
     example) should be much faster now.

  o  Added -D_XOPEN_SOURCE_EXTENDED to the compiler flags for AIX.  I
     hear that AIX 4.3 needs this rather than -D_XOPEN_SOURCE so I'll
     try it out with both defined and hope for the best (will the
     madness of -D_POSIX_SOURCE, -D_XOPEN_SOURCE, -D_BSD_SOURCE, etc...
     ever end?).  Thanks to Lukasz Dutkiewicz
     <http://www.if.uj.edu.pl/~ldutkiew> for telling me about this new
     piece of vendor/standards brilliance.

  1.6.  MGv 2.2.1: December 1997

  o  Fixed a buffer overflow problem in the printing.  The bug was a
     really dumb mistake, sorry for the brain damage.

  1.7.  MGv 2.2: November 1997

  o  Added support for non-default color depths, non-default visuals,
     and private color maps.  This didn't have that much impact on the
     application but it is a cool enough increase in functionality to
     warrant an increase in the minor version number rather than just
     the patch level.  Thanks to Hans Vahlenkamp
     <http://www.gfdl.gov/~hnv> for hassling me about this lacking
     feature (okay, hassling is probably a little strong).

  o  Fixed a bug in zoom window destruction.  If you zoomed on a zoom
     and killed the first zoom before the zoomed zoom, you used to get
     death but now you don't.

  o  Fixed the menu accelerators to avoid duplication; the following
     accelerators were changed:

  o  The Magstep menu is now activated with Alt+T instead of Alt+G.

  o  The Options menu is now activated with Alt+S instead of Alt+O (this
     was taken).

  o  The Set entry in the Magstep menu no longer has an accelerator, I
     couldn't think of anything sensible that wasn't already taken by
     something that gets more use.

  o  The Enable Smooth Scrolling entry in the Options menu is now
     activated with Alt+L instead of the old Alt+O.

     If anyone doesn't like this, you can change them through the
     resource database to whatever you want.

  o  Fixed up the code that deals with (depth one) bitmaps for icons.
     The old code was causing a BadMatch error on some systems because a
     copy was attempted from a depth one Pixmap to a Window with a
     different depth.

  o  Added the wlUseColorIcon resource so you can tell MGv to use or not
     use a color icon at run-time.

  o  Fixed the spelling of Matthew's name in various places (I thought
     there was only one "t").

  o  Added a couple of minor (and harmless) changes to the resources for
     LessTif.  These changes don't affect Motif versions of MGv.

  o  Added some notes on the Ghostview widget resources to the
     Application Resources section of the manual.  I was sure the
     resources were already listed but I was wrong.

  o  Added the -portrait, -landscape, -seascape, and -upsidedown
     switches to control the initial page orientation.

  o  Extended the FreeBSD 2.2.2 support to deal with FreeBSD 3 with
     Motif 1.2.

  1.8.  MGv 2.1: October 1997

  o  Reversed the order of History list.

  o  Removed the Printer Name text field from the print dialog.  The
     print command now holds both the command to use and the printer
     name.  The resources (printer and printCommand are still separate,
     you can forget about printer and put it all in printCommand if you
     want).

  o  Fixed the GhostviewSendPS prototype.  The old prototype had a long
     where it should have had an off_t.  Apparently HP-UX 10.20's off_t
     isn't a long like it is on all the other machines (otherwise the
     compilers would have complained long ago).  This was reported and
     fixed by Karl Storck
     <http://www.mvs.ikp.liu.se/staff/karl/karl.html>.

  o  Small fixes to the makefiles and dirtysocks.h for Solaris
     2.6/Intel.  Thanks to Thanh Ma <mailto:tma@encore.com> for the
     patch.

  o  I've changed ISPs once again (I'm on my third one this year),
     lglobal.com just got swallowed by echo-on.net so I've updated
     everything for this.  I think it is time I forked out the cash for
     a virtual host somewhere.

  o  Some minor hacks were added to allow MGv and LessTif to get along a
     little better.  There are still a number of problems with using
     LessTif (see ``LessTif Problems'' for a list of known problems) but
     most things work.  I've only tested things with the lesstif-current
     from 1997-10-02 so the current release might still be broken.  You
     might also want to check my homepage <http://www.trends.net/~mu>
     for any updates on MGv and LessTif.

  o  A preliminary port to FreeBSD 2.2.2 was supplied by Christopher
     Yoder <http://www.ionet.net/~cyoder>.  The initial attempt was done
     with LessTif so I don't know how well this works yet (I don't
     expect any problems).

  1.9.  MGv 2.0.2: August 1997

  o  Always scroll the scrolled window back to the top when closing a
     file.  Sometimes the scrolled window would get confused about where
     its child was when opening a new file; this only appears to happen
     if you are scrolled down near the bottom and then you open a new
     file in the same window.  The confusion only happens with some
     files (the exact conditions are unknown but this scrolling-back-to-
     the-top trick makes the problem go away).

  1.10.  MGv 2.0.1: August 1997

  o  Fixed an auto-sizing bug.  Any auto-sizing will now take effect if
     you hide the page list, menubar, or status line.

  o  Trying to open a non-existent file from the command line will now
     produce a warning message.  Doing "mgv not-there.ps" used to just
     give an empty window.

  1.11.  MGv 2.0: August 1997

  o  Help system extended to deal with Netscape's remote protocol and
     Mosaic's CCI protocol.  CDE help, and SGI help are still coming.
     The helpSuffix resource has been replaced with helpType.

  o  Added palette changing menu items.

  o  Changed the float resources in the Ghostview widget to integers to
     avoid alignment problems on the DEC Alpha (unaligned access).

  o  Freeing unallocated memory bugs in Ghostview.c fixed (some
     resources were getting copied by SetValues() and freed by Destroy()
     but not copied by Initialize()).  These bugs were caused by some
     modifications that I made to the Ghostview widget.  All of the
     String resources for the Ghostview widget are now copied as God
     intended them to be.

  o  You can now save a document without marking pages.

  o  Fixed two orientation bugs so that you no longer get forced back to
     the first page when changing orientation and changing the
     orientation from the menus will always work (in some cases, mgv
     would switch to the orientation in the document when you tried to
     change orientations).

  o  Added a ghost to the icon (hey, this is reason enough to upgrade
     isn't it?).

  o  Added the mgvMark action to the page list to make marking pages
     easier (maybe).

  o  Cleaned up the keyboard handling in the main viewing window so that
     the cursor keys do the right thing; the new mgvScroll action was
     added to facilitate this.

  o  Support for multiple top level windows added.

  o  On-the-fly decompression of compressed files added.

  o  All dialogs now make use of the defaultButton and cancelButton
     resources for better compliance with the Motif Style Guide.  The
     zooming is now attached to mouse button one (used to be button two
     but Motif wants button two for drag-and-drop operations).  If you
     want the old bindings back you just have to change the
     baseTranslations for the Ghostview widget to:

             MGv*Ghostview.baseTranslations: #replace                \n\
                     <Key>osfHelp:   wlHelpContext()                 \n\
                     <Message>:      gvMessage()                     \n\
                     !<Btn2Down>:    mgvZoom(begin)                  \n\
                     !<Btn2Motion>:  mgvZoom(extend)                 \n\
                     !<Btn2Up>:      mgvZoom(end)                    \n\
                     !<Btn1Down>:    mgvZoom(begin)                  \n\
                     !<Btn1Motion>:  mgvZoom(extend)                 \n\
                     !<Btn1Up>:      mgvZoom(end)                    \n\
                     <EnterWindow>:  gvNotify(0)                     \n\
                     <LeaveWindow>:  gvNotify(0)                     \n\
                     <MotionNotify>: gvNotify(0)                     \n\
                     <Key>osfUp:     mgvScroll(up,   magical)        \n\
                     <Key>osfDown:   mgvScroll(down, magical)        \n\
                     <Key>osfLeft:   mgvScroll(left)                 \n\
                     <Key>osfRight:  mgvScroll(right)

  These bindings will give you zooming with either button one or button
  two.

  o  Added the magic scrolling based on a suggestion and patch from
     Brian Dowling <http://www.simplicity.net/~brian>. This introduced
     the magicScrolling and magicResistance resources.

  o  Modified the magstep menu based on a suggestion and patch from
     Brian Dowling <http://www.simplicity.net/~brian>.  The old magstep
     menu let you choose from -5 through +5, the new one lets you
     increase and decrease it as desired.

  o  Added the Auto Size, Auto Height, and Auto Width buttons to the
     Page menu; the autoHeight and autoWidth application resources were
     also added. Thanks go to Brian Dowling
     <http://www.simplicity.net/~brian> for suggesting this.

  o  Added MP-RAS support to the makefiles.

  o  Added some screen shots to the documentation.

  o  The Reopen command will now try and reset the page number.

  o  Added support for libhelp online help (see
     http://www.informatik.uni-
     stuttgart.de/ipvr/bv/personen/mache/libhelp
     <http://www.informatik.uni-
     stuttgart.de/ipvr/bv/personen/mache/libhelp> for the libhelp
     sources).

  o  Added smooth scrolling options.

  o  Added the magstep resource and the -magstep switch to make setting
     the initial magstep easier. Andy Polyakov
     <http://fy.chalmers.se/~appro> pointed out this feature that got
     lost between Ghostview and MGv.

  o  Put the quick access -5 through +5 magstep entries back on the
     Magstep menu (a user thought all the clicking and typing and screen
     re-drawing was inconvenient and since I agreed, I put the radio
     buttons back).  Erik Luijten <http://www.cond-mat.physik.uni-
     mainz.de/~luijten> liked the old -5 through +5 options so they came
     back.

  o  Made explicit page orientations persist through reopens.  Credit
     for this behavior belongs to Erik Luijten <http://www.cond-
     mat.physik.uni-mainz.de/~luijten>.
  o  Hacked the new auto sizing stuff to, optionally, stay within the
     screen dimensions.  I think mwm does this for us but mwm is an evil
     window manager (if you like mwm, go ahead and disagree with me, or
     kill me, or not).  Since there is no sane way to determine how
     large the window manager decorations are, the wmWidth and wmHeight
     resources were added so you can tell MGv how big they are (you may
     notice that Ghostview uses pretty much the same hack).  Added the
     -smartsizing, -wmwidth, and -wmheight switches to control these
     settings from the command line.  I also added the Enable Smart
     Sizing button to the Options menu.  This stuff was based on a
     suggestion from Andy Polyakov <http://fy.chalmers.se/~appro>.

  o  Added the applicationVersion resource to help detect app-defaults
     files with the wrong version.  I also expanded the installation
     documentation to cover this situation.  This stuff was added based
     on problems experienced by Erik Luijten <http://www.cond-
     mat.physik.uni-mainz.de/~luijten>. After adding this, I moved it to
     wlib since it was too useful to duplicate in my other (as yet
     unpublished) projects.

  o  The Close All Zooms entry in the Window menu is now only sensitive
     if there are zoom windows.

  o  Change the default dirMask of the file-open dialog to *.*ps* (it
     was *.ps and then *.ps* to get gzipped/compressed files) to try and
     pick up .eps files too.

  o  Converted the menu bar widget tree to the standard (and highly
     idiotic, nonsensical, brain damaged, ...) Motif way.  This allows
     MGv to work better with Motif 2.0.0 and perhaps some other old
     versions of Motif (Motif 1.2.2 on AIX 3.2.5 is one of them).

  o  Keyboard scrolling (the mgvScroll() action) cleaned up.  I added
     the scrollPercentage resource to let users decide how much of the
     screen should be scrolled (the default of 90% yields a little bit
     of overlap for context).  This little change should make scrolling
     (including the smooth kind) nicer.

  o  Fixed Mosaic-cci help.  This got broken sometime (I don't know when
     since I almost never use this).  The CCI stuff was trying to get a
     hostname out of "file:///path/to/x/blah.html" without realizing
     that file:// means localhost.

  o  Lots of internal changes that shouldn't be visible to the user.

  1.12.  MGv 1.0: September 1996

  o  First release.

