Version 4.5 fix:
    1)  More fixes for 24-bit framebuffers. I gotta get me one of those.

Version 4.4 fixes:
    1)  Fixed a colormap problem with VDM background gifs on 24-bit
	framebuffers

    2)  Fixed a core dump when pressing on the menu separator in a pinned
	root menu

    3)  Fixed a problem with the warp key

    4)  Changed the default behavior of TransientSaveUnder to False -- this
	gives better performance, and works around a common bug in X
	servers

Version 4.3 fixes:
    1)  Updated for better support on 24-bit framebuffers, especially with
	TrueColor visuals

Version 4.2 fixes:
    1)  Fixed problems with windows that have a compound text title

    2)  Fixed problems with the cursor font name

    3)  error.c will now compile under Solaris 2.6

    4)  Fixed misc. compilation warnings.  Some survive in error.c and states.c

    5)  Fixed warp function when two screens have the same program:  warp will
	now look first on the screen containing the mouse pointer

    6)  Fixed hot key functions when num lock/shift lock might be pressed

    7)  Fixed problem with AutoRootMenu startup

    8)  Fixed problem with VirtualIconic resource

Version 4.1 fixes:
    1)  Fixed compilation problems with /usr/ucb/cc on SunOS 4.1.3

    2)  Fixed problems with AutoRaise

    3)  Fixed problems with FreeIconSlots

    4)  Now include olvwm.info and LEGAL_NOTICE

Version 4.0 fixes and enhancements:
    1) Now based on version 3.2 of olwm; this adds a lot of features
       defined in the 3.2 olwm man page:  menu accelerators, patterned
       backgrounds, etc.

    2) Busy windows are now displayed as busy in the VDM

    3) Changing the title bar font correctly updates the font for windows
       with input focus.

    4) olvwmrc keys now work correctly over the root

    5) New IfElse olvwmrc key word.  IfElse takes a specification and
	executes a branch depending on whether a window matching the
	specification exists, e.g.
	R7+Alt {
	    IfElse: guide
		{ Raise: guide Warp: guide }
		{ Execute: /opt/guide/bin/guide }
	}

    6)  Support for GIF images and better pixmap support:  In general, anywhere
	you may specify a pixmap file the file can be in the following formats:
	X Bitmap, version 2 or 3 XPM Pixmap, or GIF.

Version 3.3 fixes and enhancements:
    1) If you don't have a .olvwmrc file, using the function keys (and the
	L keys) is no longer slow no matter what VirtualReRead is set too.
	Also, since the default is not to have a .olvwmrc file, the default
	for VirtualReRead has been set to false.

    2) New compilation flags -DSOLARIS2.0 to get SVR4 compatabile code

    3) New resource VirtualDrawSticky:  If true (default) sticky windows will
       be drawn in the VDM.  If false, they won't be.

    4) Some manual typos have been fixed.

    5) Regular expressions like [a-z]* for DIRMENU fixed

    6) New menu token MOVE_DESKTOP which takes either a single parameter
       to move to a particular logical screen or a two parameters to move to a 
       logical screen containing a particular point

    7) Invalid pixmaps for the VDM now default to a better background

    8) Invalid cursor font names no longer cause olvwm to exit

    9) Close button displays with the correct input focus color in
       click-to-type

   10) Moving icons between screens when DragWindow is true and
       VirtualMoveGroups is true now works

   11) Annonying warnings when compiling with gcc fixed

   12) Support for XPM pixmaps as icons and menu images.  Requires Version 3.1
       or higher of XPM to compile with the -DXPM flag and supports XPM
       image format 2 and 3.  For menus, just list the XPM file in the menu
       file like a bitmap.  For the default icon, set the DefaultIconImage
       resource to the pixmap file and the DefaultIconMask to some appropriate
       1-bit mask image.  Application icons are application dependent; in
       particular, there's no way to get a Sun Deskset application to accept
       an XPM image file for its icon.

   13) Negative geometry values are fixed

   14) Icon Positioning when RelativePosition is False is fixed

   15) No longer core dumps if a default font isn't found (but all it does is
       complain and exit cleanly; it doesn't choose another default font).

   17) Support for AIX-3.1.6 (and probably AIX-3.2):  check the Imakefile to
       set up the correct defines.  The patch was done using "bsdcc" as the
       compiler, as defined in the /usr/lpp/bos/bsdport document. It assumes
       that "AIXV3" and "SYSV" are defined, and it used the XView port for the
       RS/6000.

   18) Fix getrlimit calls when system has no RLIMIT_NOFILE

   19) Lots of changes to olvwmrc:  key bindings can be any combination of keys,
       5 new keywords (Rebind, SetSize, Stick, Geometry, Focus), and variable
       key/keyword substitution.

   20) New Resources:  StickyIcons, if true, will make all icons sticky (but
       will not affect the sticky-ness of the base frame).  If StickyIcons
       is set, opening an icon will place the executable into the current
       screen, unless StickyIconScreen is set, in which case you'll warp to
       the screen where you closed the application from.  Both are False
       by default

   21) New Resource:  ParentScreenPopup, true by default.  If false, then
       popup windows will always appear in the current screen; otherwise
       they appear on the screen with their parent.

   22) Yet more memory problems fixed; especially affecting use of WINMENU
       at destroying icons.

   23) Multiple USR1 signals now work properly


Version 3.2 fixes and enhancements:
    1) Yet more window placement problems (esp. with mailtool) fixed:  windows
       now try to keep their mid-points on the same virtual screen rather
       than their left points; this allows windows to be slightly off the
       monitor but still on the same screen.

    2) The AllowMoveIntoDesktop resource now permits you to move windows
       within the VDM instead of always mapping them to the current screen

    3) The boolean sense of PointerWorkspace has been changed so that it
       follows the same semantics of PaintWorkspace:  when PointerWorkspace
       is True (now the default) olvwm will set the pointer.

    4) (Some) Typos in the man page fixed

    5) Internationalization problems fixed

    6) The VDM menu no longer gets destroyed when the root menu is re-read

    7) Programs which start with multiple windows (e.g. ftptool) now start
	in the correct screen.

    8) More consistent keypad namings:  RowStart, DataStart, and RowEnd
       mappings no longer affect VDM movement; there are two new keybindings
       (UpLeft and DownLeft) which achieve that functionality in the VDM.

    9) (Some) BadWindow warnings and errors are fixed.

   10) Icons which are off the upper-left screen will be saved properly by
       the SAVE_WORKSPACE command.

   11) Using Makefile.sunpro defaults correctly installs the olvwm.info file

   12) olvwm now beeps in response to an attempt to unstick the VDM

   13) New resource SortMenuType:
       If set to Alphabetic (default) then the WINMENU will show windows
       sorted alphabetically

       If set to Youngest (previous behaviour) then the WINMENU will show
       windows from youngest to oldest

   14) WINMENU now shows only the windows for the current display

   15) New DIRMENU features:
       Output is sorted alphabetically

       Environment variables in the directory path are expanded correctly

       Can specify a regular expression as the filename to display (but
       not as the directory)

   16) A USR1 signal now restart olvwm

   17) SuspendMouseless and QuoteNextKey keyboard commands are no longer
       grabbed in basic and sunview1 keyboard mode

   18) Icon positioning when SnapToGrid is on is fixed

   19) Popups now map to the same screen as the midpoint of their base frame;
       if a frame straddles the grid (including if its larger than the
       physical screen), its popups will now map to whichever virtual screen
       contains the midpoint of the base frame.

    20) New resource GrabVirtualKeys:  If this is false (its True by default)
	then olvwm will not grab all the keys which move you around the VDM;
	this means the, e.g., VirtualUpLeft will never be active, but
	UpLeft will still work when the root or the VDM window has the
	input focus.

    21) It's now possible to set a myriad of cursors (even in color) for
	different feedback on the root, frames, buttons, icons, etc.  See
	the olvwm man page for details on the new cursor resources.

    22) NoDecor windows no longer respond (as advertised) to front/back,
	open/close, etc. commands.

    23) Resize feedback now appears in the correct place in the VDM

    24) Raise and RaiseLower are now valid actions in olvwmrc 

    25) New Keybindings:  ToggleDragWindows, ToggleMoveGroups,
	ToggleSizeFullZoomX, and ToggleSticky to toggle the state of the
	corresponding resource.

    26) Repainting the root on exit now depends on the PaintWorkspace resource

    27) olvwmrc is now re-read whenever it has changed AND olvwm receives a
	function key keystroke (either normally or through a key it has
	grabbed).  This option can be disabled by setting VirtualReRead
	to false (true by default).

    28)  Four new resources:  NoVirtualKey, NoVirtualFKey, NoVirtualRKey,
	and NoVirtualLKey.  Each of these is a list of windows (like
	the VirtualSticky resource) in which the corresponding keys (F, R,
	L, or all) will not be grabbed when that window has focus.  However,
	this applies only to keys metioned in the .olvwmrc file; all the
	normal virtual key interfaces (meta-arrow, e.g.) will still function.
	It's an interface only a Wall Street trader could love.

   29)  New Keybinding SaveWorkspace for a key to save the workspace.

   30)  Synthetic events can now be received by olvwm:  in order to do so,
	you must start olvwm with the -allowSynthetic option and you must set
	the SyntheticEvents resource to True.  The SyntheticEvents resource can be
	toggled to allow/disallow events, but it olvwm only pays attention to it
	if the -allowSynthetic option is given.

    31)  Some memory problems fixed

    32) 2d titles in Click-to-Type or InvertFocusMode are now drawn correctly

Version 3.1 fixes:
    1) Windows/popups/icons should all stay on the same screen better

    2) New Resource (PointerWorkspace) to prevent setting the pointer on
	the root window and frames so that an alternate pointer can be
	set (functions like PaintWorkspace)

    3) New Resource (SaveWorkspaceCmd) to specify an alternate to owplaces
       when SAVE_WORKSPACE is selected

    4) If you pin the Root Menu automatically, you can no longer pin up
       a second copy.

    5) Moving selected non-sticky clients into the VDM now works

    6) The Warp action now effects all screens olvwm is managing

    7) The GoTo command on the second screen now works

    8) Help is now a valid key identifier in .olvwmrc

    9) Menus without defaults no longer display the circle around the first
       entry

   10) Goto calculation now works (as advertised) by columns instead of rows

   11) multi-depth icon pixmaps now work

   12) JumpUpLeft/JumpDownLeft keybinds fixed

   13) Debugging code for window types fixed

   14) New Makefile variable VERSION to determine if version.o is included

   15) No longer need math library to compile

olvwm 3.0 notes:

INCOMPATIBILITIES WITH VERSION 2:
1)  The Shift-Arrow and Control-Arrow methods of moving in the desktop have
    had their functionality reversed:  shift-arrow now moves by half-desktops
    and control arrow now moves by many desktops.  This is for consistency
    with the new mouseless commands which interpret ctrl-arrow as move ten
    items.

2)  Double clicking anywhere within the VDM now moves to that location rather
    than zooming a window which may have been clicked on.  This is either
    a bug fix or a new feature, depending on your perspective.

3) Pinned Root menus are by default no longer sticky; they must be stuck
    via the sticky list in .Xdefaults

NEW FEATURES IN VERSION 3:

Most of the changes in this version of olvwm are inherited from changes
made to the 3.0 olwm and are not listed here.  See the olwm man page for
details.

    MENU CHANGES:

	1)  There is a new menu token WINMENU.  Specifying this token
	    creates an entry in your root menu containing a pull-right
	    menu; the pull-right menu is a menu containing the titles of all
	    active windows on the desktop (windows which are iconic will be
	    listed with a preceeding graphic symbol).  Selecting a window
	    from this list will cause a user-specifiable action.  These
	    actions may be specified in the .olvwmrc file (see below); in
	    the absence of any specifications, the default action will be to
	    warp to the location on the desktop where the selected window is
	    located, to open that window if it is iconic, and to raise that
	    window to the top of the stacking order.
	
	2)  There is a new menu token DIRMENU.  Specifying this token
	    creates an entry containing a pull-right menu; the pull-right
	    menu is a menu containing every file in the given directory.
	    Selecting an entry off this menu (attempts to) execute the
	    given file.

	3)  There is a new menu token STICK_UNSTICK_SELN which works to
	    toggle the stickyness of the selected clients.

	4)  There is a new menu token COLUMNS which specifies how many columns
	    a menu should have.  It must appear after the start but before the
	    end of a menu, e.g.

"Shells" MENU
"Shells" COLUMNS	2
    "Shelltool..."	exec shelltool
    ...
"Shells" END

	5)  You can now specify an X bitmap file instead of a name for a menu
    	    item; enclose the bitmap file in <>:

</usr/openwin/include/X11/bitmaps/xfd_icon>	exec xfd -fn lucidasans

    NEW RESOURCES:

	1)  ResizeMoveGeometry:  controls the placement of the olwm 3.0
	    moveresize feedback box.  It's a standard X Geometry string,
	    but you may specify the string center if you want it centered
	    regardless of display resolution.

	2)  UseImages:  If UseImages is set to UseNone, you'll get what you
	    always got.  If it's set to UseVDM, you'll get a bitmap-based
    	    VDM menu (this is the default).  If it's set to UseAll you'll get
    	    bitmap-based window menus.

	3)  FullSizeZoomX: When this attribute is set to True, selecting
	    "Full Size" from the window menu will cause the window to zoom
	    horizontally as well as vertically.

	4)  InputFocusColor: When this attribute is set to a color
	    specification, then the frame which has the Input Focus will be
	    drawn in that color, as will the virtual window representing that
	    frame.

	5)  NoDecor: This is a list attribute, similar to MinimalDecor.
	    Windows whose Name, Instance, or Class match an entry in this list
	    will be ignored by the window manager; though they will have a
	    corresponding virtual window drawn in the VDM, they will be sticky
	    or non-sticky depending on the appropriate entry in the
	    VirtualSticky list, and they will be affected by the new Window
	    Menu and Warp options described below.  This is unlike windows
	    which have the override_redirect flag set, for which absolutely
	    no window manager actions have any effect.
	
	6)  VirtualMoveGroups:  If this is True (default), then whenever you
	    move a window from one logical screen to another, all of the
	    window's followers (popups, menus, and icon) will follow it.
	    Setting this to false gives the olvwm 2.0 behaviour where only
	    the selected window moved.
	
	7)  RaiseOnMove:  If this is True, then whenever a window is moved
	    it will be raised to the top of the stacking order.  This helps
	    to avoid windows getting lost when dragging them out of the VDM
	    (but the default is false).
	
	8)  VirtualRaiseVDM:  If this is True, the VDM will always appear on
	    the top of the stacking order.

    NEW RC FILE CHANGES:
	olvwm now reads an rc file to control usage in three areas:  hot keys
	(desktop actions when a certain key is pressed), screen bindings
	(always map certain applications to specified logical screens), and
	WINMENU actions.  See the olvwmrc.man page for details.

    MISC FUNCTIONAL CHANGES:

	1)  Popups will always appear on the same screen as their leader, even
	    if that screen isn't visible.

	2)  You can now drop something into a virtual window.

	3)  The keymappings for the VDM can all be set via resources; see the
	    man page for details.

	4)  There is a new VDM icon.

BUGS FIXED IN VERSION 3

1)  Switching between screens will correctly set the arrow-key input focus.

2)  Menus which are taller than the screen are now split into columns; menu
    titles are centered

3)  Sticky windows now always map to the current screen.

4)  Several off-by-one grid errors have been fixed.

5)  Changes to a tool's title are now reflected immediately in the VDM.

6)  Override_redirect windows can no longer be affected by the L keys.

7)  Exiting olvwm and starting another wm now correctly positions the windows

8)  Miscellaneous fixes in the documentation

---Changes in Version 2.2----------------------------------------
FUNCTIONAL CHANGES:

1)  New ways to move the desktop, including:
    A)  If a motion key is shifted, motion amount is doubled
    B)  If a motion key is pressed with the CTRL key, motion amount is halved
    C)  If a motion key is pressed with SHIFT/CTRL, motion amount is multiplied
	by 20, which should take it to the nearest edge
    D)  The function keys 1-10 can be used to move to a specific screen:
	screens are number across and then down from 1 to 10.
    E)  If a motion key is pressed with the META key, then it will work no
	matter where the keyboard focus is.
    F)  The MENU button within the VDM brings up a (pinnable) menu allowing
	motions.

2)  Virtual Windows now react to mouse events and Front/Open keystrokes like
	any other window; they can be grouped, their frame menu displayed, etc.

3)  New RelativePosition attribute added

	In past versions, by default, when the user specified a window
	placement, that position was used in absolute co-ordinates, and
	when a program specified a window placement, that position was
	used in relative co-ordinates.

	Some programs (frame and mailtool, for example) save some window
	states somewhere (frame does it in the document, mailtool in
	the .mailtool-init file) and then brings up these windows with
	user-specified co-ordinates.  This means that if you start these
	programs in another part of the Virtual Desktop, some frames will
	come up in the wrong area of the screen -- they will come up
	where they last were rather than where you are now.

	Setting the RelativePosition attribute to True (its default) will
	make all window placement strings be relative to the current
	screen.

	The only time this setting should be a problem is if you are
	any place other than the upper-left corner and you want to bring
	up a window in absolute co-ordinates.  But since absolute
	co-ordinates are normally only useful for things brought up in
	your .xinitrc/.openwin-init file, that shouldn't normally be
	a problem.
	
4)  You can now specify sticky applications by the first word in their
	WM_NAME attribute as well as their WM_CLASS/WM_INSTANCE attribute.
	For some tools (eg Mailtool), the WM_NAME is multi-word:
	Mail Tool - /var/spool/mail/sdo for example; use only the first
	word (Mail) in the list as xrdb is incapable of imbedding spaces
	in the list.

	This allows (most) XView applications and pinned menus to be sticky.
	Note that the XView clock has by default no WM_NAME either; but
	it (and all XView applications) can set their name on the command
	line with -Wl <name>.

5)  The VDM now displays a grid (by default, but it can be turned off by
	setting VirtualGrid to None) for screen sizes.  When the grid
	is on, dragging the mouse to move the desktop is constrained to move
	between whole screen regions (unless the CTRL button is pressed
	while dragging the mouse, in which case arbitrary positioning of
	the desktop is enabled).  If the grid is off, you can move the desktop
	by arbitrary amounts unless the CTRL button is pressed, in which case
	movement will be constrained to full screens.

BUG FIXES

6)  Windows which don't register with the Window manager and are raised
	by the "Front" key no longer core dump.

7) The Save Workspace command now correctly saves non-Xview applications.

8) When olvwm is in MinimalDecor, it will resize correctly.

9) Clients like xterm can now receive input focus if click-to-type is in
	effect and the inside of the window is clicked.

10) Icons can now be moved into the VDM when SnapToGrid is in effect.

11) Applications which start sticky can be unstuck.

12)  Moving multiple windows into the VDM no longer collapses the windows
	onto each other.

13)  The root now correctly inherits keyboard events when shells exit.

14) Menus can now have embedded environmental variables

15)  Sub-frames now inherit the stickyness of their parent.  Note that in
	the OPEN LOOK paradigm, this means that command frames and pinned
	menus will inherit the stickyness of their parent but any other
	base frames (e.g. the compose window from mailtool) will not.

16)  olvwm now avoids the OW2.0 server bug for small windows on CG3 displays
	which used to cause the server to crash.

17)  Windows can no longer be dropped into obscured portions of the VDM

SOURCE FIXES

18)  Imakefile now lists resources1.o
	[Okay, I said I was no Imake user . . .]

19)  Imakefile no longer tries to install openwin-menu

20)  Imakefile correctly installs man page

21)  New Imakefile for those without MIT XView but with OpenWindows
