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.