
VERSION HISTORY OF VTWM 5.4
===========================

VTWM 5.4.6

    New Features
        - Added pre-processing of the resource file with m4. Parameters
          can be passed on the command-line, too.
        - Added support for regular expressions ("RE"s) in resource file
          window lists. VTWM's own wildcarding is still honored.
        - Sound effects are now supported, by way of the rplay library
          and daemon (added the PauseOnExit, PauseOnQuit, SoundHost,
          Sounds, SoundVolume, and f.sounds resources).
        - Added applet regions. For all those handy little utilities we
          use every day.
        - Added "scrollability" to menus that would be taller than the
          display (added the MenuScrollBorderWidth and MenuScrollJump
          variables).
        - Doors and the virtual desktop can now be rendered in 3D
          (added the DoorBevelWidth and VirtualDesktopBevelWidth
          variables).
        - Non-nailed icons can now stay put at their locations on the
          virtual desktop (added the StaticIconPositions and
          f.staticiconpositions resources).
        - Iconified transient windows of an iconified parent window can
          now have their state preserved when that parent is
          deiconified (added the DontDeiconifyTransients variable).
        - Iconification of windows is now prevented when there is no
          provision to deiconify or otherwise restore them.
        - Icon managers can now list only iconified windows (added the
          StrictIconManager and f.stricticonmgr resources).
        - Added support for warping only to visible windows (added the
          WarpVisible and f.warpvisible resources).
        - Improved response to exposure events of transparent pixmaps
          used for window buttons on pointer-driven focus changes.
        - Added four built-in button images, two each of down and right
          arrows.
    Changed Features
        - A small tweak in icon and applet regions to have the region
          layout logic disregard grid spacing in determining whether a
          window will fit.
        - Relaxed the door geometry parser, allowing omission of the
          position.
        - Applied the XPM library's color closeness attribute to
          external pixmap images.
        - Doors, icon managers, and the virtual desktop have minimum
          sizes imposed on them now.
        - Doors now override real screen snapping on entry.
        - Icon managers now honor the IconifyByUnmapping resource.
        - Removed the UseRealScreenBorder variable. If it's non-zero,
          why wouldn't you want to use it?
        - Added compiled-in options to the build info in the version
          window.
        - The X database resource "*bitmapFilePath" is now searched for
          pixmap image files.
        - Random zooms during deiconification are controlled by a
          resource now (added the ZoomZoom variable).
        - The cursor stays with the titlebar on a squeeze operation,
          like it does with zooms.
        - All the f.*iconmgr warp functions honor the WarpSnug and
          WarpWindows variables now (or absence of). The WarpSnug state
          can now be toggled.
    Bug Fixes
        - Doors, icon managers, and the virtual desktop now respond to
          zoom operations properly.
        - Doors, icon managers, and the virtual desktop now get redrawn
          during opaque resizes (redrawing doors during interactive
          creation is still a problem).
        - Fixed transposed virtual desktop default foreground and
          background colors.
        - Work on the bug where windows may be mapped in desktop (0,0)
          regardless of the desktop's location in the virtual display.
        - Fixed positioning errors for the icon manager and virtual
          desktop windows.
        - The virtual desktop's bevel and a door's text and bevel now
          get redrawn after being resized.
        - The virtual desktop now properly accomodates the real
          screen's border.
        - Skip re-mapping of the virtual desktop to clean up outline
          droppings if the window moved or resized is itself.
        - When moving an application window in the virtual desktop, the
          border of the corresponding real screen window now highlights
          as required.
        - Windows can now be resized and moved from icon managers and
          menus not of the root or window in question.
        - Fixed window resizing via the virtual desktop and icon
          managers. Fixed window moves (f.move) via the virtual desktop.
        - Zooms know about icon managers now.
        - Iconified icon managers now behave as one would expect when
          removing the last entry in them.
        - The f.delete and f.destroy functions now work properly on
          doors, icon managers, and the virtual desktop.
        - The f.hideiconmgr and f.showiconmgr functions now work
          against icon managers defined with the IconManagers resource.
        - Fixed bugs in getting icon names, window states, and pixel
          atoms from the X server.
        - Fixed where truncation of long titles messed up in titlebars
          that don't have any left-side buttons.
        - The titlebar height now adjusts to external button images.
        - Sanity checks on door renames. Fixed two menu repaint bugs.
        - Fixed a bug in the display of a renamed door.
        - Tweaks to correct the painting of external images on multiple
          screens.
        - Fixed a bug where icon bitmaps were rendered with the wrong
          color.
        - Fixed the PanResistance resource's not recognizing when the
          pointer has left the autopan windows.
        - The icon manager's class is visible to resource list entries
          now.
        - The window's icon name now has it's own memory space.
          Occasionally, VTWM would crash if an app changed it.
        - Added a kludge to "fix" not getting the rodent button up
          event when deleting doors.
        - Fixed the "orphaning" of intermediate parent menu(s) when
          skipping them for some superior parent menu.
        - Fixed deferred execution on keyboard events when the root
          window has focus.
    Misc.
        - Added support for the rplay library to the make files.
        - Added support for regular expressions to the make files.
        - Ensure the built-in resources and build info are current
          (tweaks in the make files).
        - The man page is now included on 'make install'.
        - Also in the make files, moved the $(NO_XPM_SUPPORT) and
          $(NO_M4_SUPPORT) defines into $(DEFINES), and removed some
          SpecialObjectRule()s. Two new definitions and a different
          directive make for more flexible installs.
        - Renamed the lnf directory to contrib. Created subdirectories
          therein for images, sounds, and misc. support stuff. Removed
          the leading '.' from the resource file names.
        - The system resource files are a bit more useful and appealing.
        - A new script in contrib/support can add installed applications
          to the system default resource file.
        - Updated the sample resource files to demonstrate some of m4's
          capabilities.
        - Added some sample button image and sound files.
        - Updated the BUGS, INSTALL, and WISHLIST files, and added the
          HISTORY and SOUND files.
        - Moved the man page into doc.
  
VTWM 5.4.5a
        
    Fixed text display bug in the size and position windows.

VTWM 5.4.5

    New Features
        - Added code to make it a little harder to accidentally pan to
          an adjacent virtual screen (added the PanResistance
          variable).
        - Discovered that VTWM supports a subset of regex wildcards for
          list variables! It's in the man page now.
        - Added a signal handler for external restarts.
        - Added code to restart using a specified window manager (added
          the f.startwm function).
        - Made the borders of windows without titlebars forward key
          events events to the application, like titlebars do.
        - Added and aliased the OldFashionedVtwmWindowsMenu variable to
          OldFashionedTwmWindowsMenu.
        - Added code to suppress entries in th VTWM Windows menu (added
          the DontShowInVtwmWindows and DontShowInTwmWindows
          variables).
        - The window border of the virtual desktop now honors key
          bindings to "virtual".
        - Doors and their borders are now sensitive to key bindings.
        - Added code to inhibit forwarding focus from icon manager
          entries to the corresponding application windows (added the
          NoIconManagerFocus variable).
        - Established a directory, doc, for all the documentation that
          has accumulated through time.
        - Established a directory, lnf (look n' feel), for the
          previously included sample resource and image files, added a
          couple more, renamed some.
        - Gave the icon manager and virtual desktop resource classes.
        - The f.warpclassprev and f.warpclassnext functions now accept
          an empty string, meaning the class of the window with focus.
        - Added color (XPM) image support for the UnknownIcon variable
          and application-specified icons (changed the UnknownIcon
          variable).
        - The three entries of the Pixmaps variable now fully support
          color (XPM) images (changed the Pixmaps variable).
        - The 3D rendition of icons is now governed by its own variable
          (added the IconBevelWidth variable).
        - The position window now reports during moves in the virtual
          desktop.
        - The position window now reports during constrained moves.
        - Added code to support pasting a name into a door (added the
          f.namedoor function).
        - When windows are created, they now honor the opaque variables
          when the RandomPlacement variable is not set.
        - While moving and resizing windows on the real screen, the
          virtual desktop now responds in kind, and visa-versa (added
          the VirtualReceivesMotionEvents and VirtualSendsMotionEvents
          variables).
        - Added code for opaque resizing (added the OpaqueResize and
          NoOpaqueResize variables).
        - All opaque variables now support lists (added the
          NoOpaqueMove variable, and changed the OpaqueMove variable).
        - Added code to properly truncate, then add ellipses to, titles
          that are longer than the space they're drawn on.
    Changed Features
        - Applied the MoveDelta variable to window resizing and initial
          menu highlighting.
        - Tweaks to suppress menu highlighting on mapping, relieve CPU
          consumption on menus bound to rodent buttons, and allow a
          second rodent button press to cancel menus.
        - Tweaks for application-defined icon border widths.
        - All references to and mention of the shadow contrast
          variables have been changed to *BevelContrast (changed the
          DarkShadowContrast variable to DarkBevelContrast, and the
          LightShadowContrast variable to LightBevelContrast).
        - All references to and mention of the shadow width variables
          have been changed to *BevelWidth, and they are configurable
          now (added the BorderBevelWidth, IconManagerBevelWidth,
          InfoBevelWidth, MenuBevelWidth, TitleBevelWidth, and
          ButtonBevelWidth variables; removed the UseThreeDBorders,
          UseThreeDIcons, UseThreeDIconManagers, UseThreeDMenus,
          UseThreeDTitles, and ThreeDBorderWidth variables).
        - A few changes to grab the server during non-opaque moves and
          resizes, regardless of the NoGrabServer variable.
        - Changed the foreground color for the built-in "TwmWindows"
          menu to that of the global variable (added and aliased "VTWM
          Windows" to "TwmWindows").
        - Another tweak to the f.warpclass* functions, to properly
          handle multiple icon managers.
        - Had to make an exception for icon managers regarding warps,
          that their window border isn't the destination.
        - The f.warpclass* functions will now exhibit reasonable
          behavior when an empty string is used on windows without
          titlebars or on VTWM-specific windows.
        - Tweaks made to the f.warpclass* variables and the f.warpring
          function so the destination is a titlebar or border like the
          other warp functions, and the latter now remembers the window
          to warp to when invoked from the root window.
        - All warping functions now honor the WarpUnmapped variable a
          la the f.warpto function (changed the f.warpclassprev,
          f.warpclassnext, f.warpnewest, f.warpring, and
          f.warptoiconmgr functions).
    Bug Fixes
        - Fixed a bug with icon manager geometries that would blow VTWM
          out of the water.
        - Fixed a bug for the AutoPan variable, when the pan windows
          are obscured by a newly-raised window.
        - Plugged a memory leak, where transparent pixmap resources
          weren't freed before re-use.
        - Tweaks to streamline icon bitmap handling, and fixed the
          painting of non-transparent titlebar highlight pixmaps.
        - Tweaks to correct the painting of built-in images on multiple
          screens.
        - Window buttons can now be beveled when external images are
          used.
        - Fixed a bug where the titlebar highlight wasn't erased when
          focus was unset and the BeNiceToColormap and
          SunkFocusWindowTitle variables were used.
        - A safer approach to the RaiseDelay variable's timeout.
        - Fixed a bug I introduced where non-3D borders were always
          rendered as highlighted!
        - Fixed some bugs in colormap management.
        - Added a few "prevents" when there isn't an icon manager
          mapped.
        - Made initial window placement adjust to client borderwidths,
          depending on related variables.
        - The virtual desktop is now re-mapped after non-opaque moves
          and resizes to clean up any outline droppings left on it when
          the Virtual*MotionEvents variables are set.
        - Found and plugged the hole in the original menu handler that
          would blow VTWM out of the water when the pointer scrolled
          down past the last entry.
        - Virtual window geometries now account for 3D borders.
        - Virtual-to-real window scaling and positioning errors have
          been reduced.
        - Re-instated the effects of the RightHandSidePulldownMenus
          variable!
        - The snug variables now take border width into account.
        - Fixed the rendition of a squeezed titlebar's right-side 3D
          border (a silly gunkulation error).
        - The NoGrabServer variable now sees to it the server is
          actually not grabbed!
        - The f.warpclassprev function actually goes backwards now!
        - Many tweaks to make titlebar-related variables consistant
          with respect to each other and 3D rendition of the various
          elements.
    Misc.
        - Even more tweaks for portability, most notably, restoring
          X11R4 compatability by not including the X11R5,6 headers
          Xosdefs.h and Xfuncs.h! X11R5,6 don't seem to mind.
        - Purged GNU-specific syntax from this new Imakefile, and
          changed the NO_PUTENV definition to NEED_PUTENV_F, for
          consistancy.
        - Support for bison.
        - Added a define supporting a 2D or 3D system default resource
          file.
        - Added the system Imake.tmpl macro for flex's library (should
          be absent or an empty string on systems with lex).
        - Renamed the HINTS file to INSTALL, and it's more
          comprehensive now.

VTWM 5.4.4c

    Added color image (XPM) support for window buttons.
          
VTWM 5.4.4b
          
    Fixed a bug where the window buttons would get painted with the
    border color when the background color should have been used.
    Fixed warping to titlebars not flush left.
        
VTWM 5.4.4a
          
    Fixed a fault causing a SIGSEGV in the info window.
    Purged the use of a depreciated constant in the XPM library.
          
VTWM 5.4.4
          
    New Features
        - Added a variable to tell the icon manager whether or not to
          highlight its entries as an indication of pointer location,
          regardless of the NoHighlight variable (added the
          NoIconManagerHighlight variable).
        - Enabled a variable to go easy on the colormap; it doesn't
          render perfectly yet (added the BeNiceToColormap variable).
        - Color image (XPM) support for icons.
        - Added a bug workaround to try to make managed windows used as
          transients behave (added the FixManagedVirtualGeometries
          variable).
    Changed Features
        - Allow screen warps to honor the SnapRealScreen variable.
        - Simplified the meaning of the SqueezeTitle variable list
          parameters.
    Bug Fixes
        - A better effort at getting a name for the window.
        - Added a kludge to "fix" screen warps to de-iconifying windows
          not on the real screen (high degree of confidence it's not
          the source of the problem).
        - Rewrote most of the 3D border code, adding, among other
          things, drawing the top border segment when 3D borders are
          used with squeezed titles!
        - Fixed a bug causing SIGFPEs when pan distances are set to
          zero.
        - Fixed an oversight where monochrome GCs weren't getting
          intialized!
    Misc.
        - Added the HINTS file to the distribution.
        - Moved and added many function declarations into header files
          for quieter builds.
        - Use the system Imake.tmpl macro for yacc and removed all
          escaped characters from the lastmake.c rule in the
          *akefile*s.
        - On startup, VTWM now searches for user and system .vtwmrc
          files, then user and system .twmrc files, in this order.
        - Fixed and added many declarations and definitions.
        - Updated the man page.
        - Support for HTML and Postscript versions of the man page
          added to the *akefile*s.
        - Pruned the R4 Imakefile from the tree.
        - Pruned the vtwmrc/ directory from the distribution tree.

VTWM 5.4.3
          
    Bug Fixes
        - Fixed a bug where the wrong variable was being used to
          highlight the window border that has focus.
        - Fixed an omission where the window buttons would not follow
          the border color when highlighted and the ButtonColorIsFrame
          variable is true.
        - Added a hack to trap corrupted/invalid window button names.

VTWM 5.4.2

    New Features
        - Modifications for a 3D appearance, menu separators, a
          position window, info window fonts, and resize/position
          window locations (added the SunkFocusWindowTitle,
          UseThreeDIconManagers, UseThreeDMenus, UseThreeDTitles,
          UseThreeDBorders, ThreeDBorderWidth, ClearBevelContrast,
          DarkBevelContrast, InfoFont, and ResizeRegion variables;
          added the f.separator function).
        - Added code to properly paint the window buttons in the same
          color as their titlebar (added the ButtonColorIsFrame
          variable).
        - Now closes the display before spawning the new WM on a
          restart operation - free alloc'd memory in the X server?
        - Applied the backing store and NoBackingStore variables to the
          Icon Manager and titlebars (defeats effects of RaiseDelay).
        - Added code for Motif-ish "shallow" relief in 3D titlebars and
          buttons to matches the others (added the
          ShallowReliefWindowButton variable).
    Changed Features
        - Made a few variables un-alterable when 3D appearances are
          used.
        - Made the cursor warp to the titlebar on a zoom operation if
          WarpCursor is set on.
        - The function f.showdesktopdisplay now deiconifies as
          required.
        - Added build info to the version window by having the
          *makefil*s create a temporary C module.
        - Tweaked the 3D menu icons to look a little more like menus.
        - Made the 3D Icon Manager iconified indicators "shallow" to
          match the 3D menu icons.
        - Tweaked the hard-coded geometries for a better 3D appearance
          on icons (looks best with IconBorderWidth set to 0).
        - Changed "Twm Door" to "VTWM Door", in the name of
          Consistancy.
        - Changed "Virtual Desktop" to "VTWM Desktop".
        - Changed the code to center door window names in their
          windows.
        - Took liberties with the SunkFocusWindowTitle function.
        - Changed as many as convenient boolean shorts to bits in a
          Slim-Fast effort.
    Bug Fixes
        - Numerous changes to accomodate added buttons and squeezed
          titlebars - I had previously overlooked these.
        - Changed code to properly scale menus to the fonts used.
        - Fixed a bug in zooms that I introduced!
        - Added code preventing the virtual desktop window and door
          windows from doing harm.
        - Fixed a bug when trying to move the virtual desktop window
          with the pointer.
    Misc.
        - A couple of changes for a cleaner compile (what were 'int'
          functions are now 'void', etc.).
        - Updated the man page.

VTWM 5.4.0 - 5.4.1
   
    No public release was made of versions before 5.4.2.


