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

VTWM 5.4.7

    New Features
        - Added internationalization (I18N) support.
        - Support ignoring "shift states" when determining if a key
          or rodent button event is bound (added the IgnoreModifiers
          variable).
        - Support passing raw key and rodent button events to windows
          (added the f.bindbuttons, f.bindkeys, f.unbindbuttons and
          f.unbindkeys functions).
        - Allow warp functions to position the pointer at the center
          of windows (added the WarpCentered variable).
        - Allow the 3D borders of titled windows to be unadorned (added
          the NoBorderDecorations variable).
        - Prohibit windows from being added to the WindowRing list
          (added the NoWindowRing variable).
        - Opened up icon managers and menus to user-specified images
          (added the MenuIconPixmap and IconManagerPixmap keywords).
          This gives the ShallowReliefWindowButton variable wider scope.
        - Two new 3D built-in pixmaps, :xpm:box and :xpm:lines.
        - Four new 3D built-in pixmaps for the titlebar highlight,
          :xpm:raisedbox, :xpm:sunkenbox, :xpm:raisedlines, and
          :xpm:sunkenlines. These obsolete the SunkFocusHighlightWindow
          variable.
        - The command line can specify that no startup file be used
          (primarily for testing compiled-in defaults).
        - Added support for Motif window manager hints (currently, honor
          "noborder" and "notitle" hints).
        - Allow sounds to be played "ad hoc" (added the f.playsound
          function).
	- Added PointerPlacement keyword.
    Changed Features
        - The UsePPosition variable accepts a list now.
        - The f.warpto function accepts VTWM-style wildcards now.
        - Refinements to the f.resize and f.move functions: Both are
          now single rodent button operations from any context, and both
          warp the pointer back to the virtual desktop when started from
          there. The wireframe is drawn immediately, ignoring MoveDelta.
          MoveDelta is otherwise used consistantly now. Constrain virtual
          desktop resizes to multiples of PanDistance when SnapRealScreen
          is set.
        - Refinements to the titlebar: The title bevel can now frame the
          entire titlebar when built-in 3D buttons are not full height.
          Buttons can now "extend into" the title bevel and frame padding.
          The highlight area (or absence of) is handled correctly now.
          The built-in 3D highlight is now available with or without a
          title bevel. The ButtonIndent, FramePadding, TitleBevelWidth,
          and TitlePadding variables are changed.
        - The TitleHighlight keyword accepts built-in pixmaps now, like
          the LeftTitleButton and RightTitleButton bindings.
        - The raise for moved and resized windows now occurs after the
          movement (added the RaiseOnStart variable).
        - Some shaping optimizations.
        - Depreciated the motion event handler.
        - Chmod 0600 $(HOME)/vtwm.pid.
        - Let lexers track line numbers by default.
        - Reduced the compiled-in defaults footprint.
    Bug Fixes
        - Fixed warp bugs when windows are borderless or shaped.
        - Fixed some icon move and resize bugs.
        - Fixed a vertical placement error in applet regions.
        - Fixed most stacking order bugs when moving and resizing windows.
        - Cancelled moves and resizes now work correctly, except one case.
        - The pointer is adjusted back to the window as needed on resizes.
        - Fixed some titlebar highlight exposure bugs.
        - Fixed some off-by-clientborderwidth window placement bugs.
        - Fixed an off-by-one malloc() and a null pointer reference.
        - Checks for the number of rodent buttons and VTWM Windows entries.
        - The f.warpring function has been fixed. Again.
        - Fixed a race condition when f.squeeze* functions are invoked
          from a window menu while Opaque* variables are set.
        - Prevent f.squeeze* functions when the DontSqueezeTitle variable
          is set.
        - Removed the limitations of the f.startwm argument.
        - Fixed the 3D borders of titled windows when the BeNiceToColormap
          variable is set.
        - Reduced server grabs.
        - Better handling of missing or empty string resources.
	- sound function referenced outside of ifdef.
    Misc.
        - Updated the man page, and the BUGS, INSTALL, SOUND, and WISHLIST
          files.
        - Updated the system and sample resource files.
        - Updated contrib/support/sysrc_add_apps.sh.

VTWM 5.4.6b (bugfix release)

    Fixed a bug causing sporadic restarts when realizing unmanaged
    windows.

VTWM 5.4.6a
          
    Support for borderless windows (added the NoBorder variable).
    Better random placement of large windows.
    Fixed bugs regarding icon managers and warp rings.
    Doors are drawn during opaque interactive creation now.
    MakeTitle now overrides NoTitle like it's supposed to.
    Added creating and deleting a pid file.
    Fixed a focus problem with transient windows.
    Improved the list parser in contrib/support/sysrc_add_apps.sh.
          
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.


