/**************************************************************************\
* 									   *
*  			HISTORY of user-visible changes			   *
* 									   *
\**************************************************************************/


1.5		(89/11/24)	X11R4 tape gwm

    This is the version that will be included in the X11R4 tape
    The standard profile has been cleaned up (some renaming of variables)

    Inclusion of the TWM emulator by Arup Mukherjee and the rooms
    package by Duane Voth.

    The placement functions have been greatly enhanced with the new "rows"
    package

    NEW FUNCTIONS:

      - trigger-error to jump to toplevel

      - icon-name and starts-iconic context variable for placed menus

    BUGS CORRECTED:

      - no more errors on calls to XGrabPointer on R4

      - bugs in resizing of menus when items were resized

    COMPATIBLE ENHANCEMENTS:

      - "-" is now n-ary


1.4.1.30	(89/11/15)	X11R4 beta

    This version should compile OK under the X11R4 beta tree

    NOTE: for compiling with alpha release of X11R4, use -DX11R4a
          for compiling with beta  release of X11R4, use -DX11R4

    COMPATIBLE ENHANCEMENTS:

      - window-name always converts the dots "." to "_", for not breaking
	the X resource manager. This did not happen in the standard profile
	but was very dangerous in some other profiles

      - for X11R4 inclusion, wl_namespace.c and .h files are renamed to
	wl_name.c and .h, and Imakefile was re-designed by Donna Converse.

      - #endif foo were replaced by #endif /* foo */

      - new file "cursor-names.gwm" to have the names of the built-in
	cursors (see "cursor-make" entry)

      - mwm profile included: try it with a gwm -f mwm

    BUGS CORRECTED:

      - list-of-windows could break due to an uninitialised context

      - if a (buggy) client declared itself as transient-for itself, gwm
	would enter an infinite loop (new interviews clients)


1.4.1.27	(89/10/18)	Imakefile

    NOTE: the "gwm" subdirectory is renamed as "data" for compiling with imake\

    COMPATIBLE ENHANCEMENTS:

      - Installs now with either an Imakefile or Makefile.noXtree

      - supports now the WinGravity iccm hint (ICCCM 1.0 fully compatible)

      - simple-icon.legend to remove title on simple icons

    BUGS CORRECTED:

      - set/get-x-property on root Ok now

      - grid-color should be Ok

    NEW FUNCTIONS:

      - get-wm-command to get WM_COMMAND ICCCM property

1.4.1.25	(89/10/09)	Shape extension

    COMPATIBLE ENHANCEMENTS:

      - support of X11R4 non-rectangular windows (Shape extension)

      - window-is-shaped function to test if decorated window is 
	non-rectangular (returns t or ())

    BUGS CORRECTED:

      - unbind was bugged (if done twice on same atom)

      - current-event-window-coords bugged when window did not have 
	resize inc hints set

      - gwm was looping on windows having themselves as group leader 
	(bug fixed by weissman@wsl.dec.com)

      - sort was bugged


1.4.1.22	(89/09/07)	bug fixes

    INCOMPATIBILITIES WITH PREVIOUS PROFILES:

      - replayable events are now made with the "replayable-event" function,
	no more by setting the "freeze-on-grab" flag

    COMPATIBLE ENHANCEMENTS:

      - ungrab-server can take no arguments, meaning ungrab unconditionnaly
	(with argument, ungrabs only if argument is the wob having set the
	grab)

      - # and ## now works on wobs (by accessing the property field, supposedly
	containing a list), and on atoms (by accessing their value which
	must be a list).

      - ## can now add new elements to a list, in an unique way: If many
	objects point to the list, only one copy of the list is expanded

      - match can now return a list of values, e.g:
	(match "\\([0-9]*\\)x\\([0-9]*\\)" "80x24" 1 2)
	returns the list ("80" "24")

      - strings can be written across lines by prefixing the eol by "\"

    BUGS CORRECTED:

      - no more ghost windows when client dies during decoration

      - gwm tracks correctly changes of key mapping

      - ungrab-server was bugged

      - with-modifier-N instead of with-modifierN, as was specified in the doc

      - colors could be mixed between screens

      - defname in screen. was changing current wob

    NEW FUNCTIONS:

      - better error handling with a stack dump on error, with variable
	"stack-print-level" controlling the number of levels displayed

      - wob-x and wob-y for absolute position of wobs

      - current-event-time for time (milliseconds) of triggering event

      - confine-grabs flag for confining cursor inside grabbing wob

      - delete-nth for physically removing an element of a list

      - current-event-from-grab tells if the event was generated by a grab
	(enter/leave, focus in/out)

      - window-program-set-position, window-program-set-size for acessing
	application hints


1.4.1.13	(89/08/18)	bug fixes

    INCOMPATIBILITIES WITH PREVIOUS PROFILES:

      - ! does not fork a shell anymore, directly executes command instead.
	Now you must break yourself the command line into arguments, i.e. 
	change (! "xterm -fn 6x10") in (! "xterm" "-fn" "6x10")
	and (! "for i in `cat ~/.xloads`;do rxload $i;done")
	in  (! "/bin/sh" "-c" "for i in `cat ~/.xloads`;do rxload $i;done")

    COMPATIBLE ENHANCEMENTS:

      - -q flag for quiet start up (sets "gwm-quiet" var)

      - pop-menu and unpop-menu now do a XSync

    BUGS CORRECTED:

      - = didn't check type of second arg in some cases

      - window was lost if mapped on another screen

      - some timing bugs could prevent windows from mapping after X errors

      - current-event-relative-y was broken (returned the x value)

      - grab-server was bugged when given a wob as argument

    STANDARD PROFILE MODS:

      - xterms/xload called by the pop-up menu now are created on the same
	screen as the menu.

      - set-icon evaluates list if given in argument (and is debugged, too)

1.4.1.10	(89/08/09)	bug fixes

    COMPATIBLE ENHANCEMENTS:

      - shell escape "!" uses now the content of the SHELL env. variable
	(dab@opus.cray.com (Dave Borman))

      - placed menus participate in the WM_DELETE ICCCM protocol, i.e. you
	can apply "delete-window" on a placed menu to destroy them.

      - Class of placed menus is now "Gwm" instead of "GWM".

      - defname of an atom having already a value sets all the created names
	in the existing namespace states to this value.

      - current-event-window-coords returns now also the coordinates in
	the decorating window (thus including the decoration) as 5th and 6th
	elements of the returned list

    BUGS CORRECTED:

      - typos in the doc (Olaf Heimburger <olaf@tubopal.uucp>)

      - (cursor-make number) works for all releases and for number = 0

      - place-menu with coords was bugged 
        (Eirik Fuller <eirik@labs.labs.tek.com>)

      - composite wobs (bars, menus) always transmit user-events to their
	sons (bars, plugs) now. (Terry Weissman	<weissman@wsl.dec.com>)

      - "-m" option do not map menus anymore

      - error-occured becomes error-occurred

      - bitwise-and was bugged (always returned 0)

      - when restarting gwm, some windows drifted of one pixel
	(Gary Oberbrunner <garyo@Think.COM>)

    NEW FUNCTIONS:

      - grab-keyboard-also flag for grabbing also the keyboard when issuing
	a "grab-server" which grabs the pointer.


1.4.1.6		(89/07/27)

    COMPATIBLE ENHANCEMENTS:

      - (cursor-make number) to select a cursor in the server's cursor font
	code courtesy of Bill Trost <trost@scott.labs.tek.com>

      - resize-style controls the interaction during resizes: 0 is the
	old "uwm" way, 1 is the new "mwm" way. two new flags control the
	behavior:
		mwm-resize-style-catch-corners if you want to be able
			to "catch" corners while dragging a side
		mwm-resize-style-corner-size for the distance from the corner
			at which you catch them
	and 8 new cursor variables (cursor-NW et al.) controls the shape
	of the cursor.
	Warning: for now, you must trigger the code only in the borders
	(wait for an leave-window event before calling resize window...)
	but it will be corrected in next release.
	(code made by Frederic Charton)

      - new value 5 for resize-grid-style for 2-pixel wide lines for style 0

    BUGS CORRECTED:

      - namespace-add was broken

      - grab-server was bugged

      - compiles ok on ultrix

    NEW FUNCTIONS:

      - namespace-remove to remove a name state, to be able to implement
	a full "window." namespace later


1.4.1.4		(89/07/26)	bug fixes

    COMPATIBLE ENHANCEMENTS:

      - send-user-event can take a third argument not to propagate events
	down the wob hierarchy

      - This file is now called CHANGES and at the top directory, instead of
	doc/HISTORY

      - updates will now be distributed as patches to the files, no more to
	the shell archive

    BUGS CORRECTED:

      - IBM-RT compilation flag changed to IBM_RT in Makefile

      - compiles ok with vanilla gcc (no more writes in static strings)

      - re-decorate-window works with an argument and check if it is applied
	to a real window

      - cond works now

      - re-load&dec menu item fixed in standard profile

      - when tracing an expression, the evaluated expression could not unset
	the tracing mode

      - in case of errors in the "opening" code of the window, maps it

    NEW FUNCTIONS:

      - ungrab-server-and-replay-event to release an activated passive grab
	and replay the grabbing event. Useful for click-to-type policies

      - current-event-relative-x & current-event-relative-y coords of
	last event in the wob coordinates


1.4.1.1		(89/07/21)	multi-screen

    INCOMPATIBILITIES WITH PREVIOUS PROFILES:

      - previously, menus were considered as windows: thus in a menu fsm,
	send-user-event was sending events to the menu. This was a bug and
	has been corrected (window refers to the window of the wob having
	popped the menu). Menu codes working in previous releases should
	be corrected (look at the new "std-popus.gwm" file)

      - the "sublist" function has been changed not to include the last
	given element

      - the meter parameters are now set by a single function, "meter"
	instead by multiple variables meter-font, meter-background, etc...

    COMPATIBLE ENHANCEMENTS:

      - multi-screen support: now Gwm will decorate all the screens on the
	display. The standard profile operates by defining one resource per
	screen, and then loading the user ".profile.gwm" file once per
	screen. The problem is that the decoration writers will have to be
	sure they do not mix colors, pixmaps, cursors and all wobs and
	menus. 

      - To help managing multiple screens, the concept of "namespaces"
	has been added. A namespace is a set of names having a different
	value for each state of the namespace. Gwm defines the "screen."
	namespace, for all screen-dependant data. For instance, "screen-width"
	is a name in the "screen." namespace, having the correct value for
	each screen, gwm changing the state of "screen." to match the
	current screen.
	See functions: namespace-make, namespace-add, defname,
	namespace, namespace-of, namespace-size

      - grab-server accepts a 'nochild optional argument to grab strictly
	on a wob, redirecting even the events sent to its childs.

      - (trace  expression) evaluates the expression before each list eval

      - new -1, -x command line switches and GWM_MONOSCREEN shell variable

      - current-mouse-position returns current screen as 4th elt

      - resize-meter to say that you want a meter to appear on resizes

      - move & resize-window return status code that can be checked to see
	if the user aborted them

    NEW FUNCTIONS:

      - warp-pointer to set the position of the pointer

      - menu-wob to get the wob id of a menu

      - new "screen" active value and associated variables: screen-type, 
	screen-count, screen-width, screen-height, screen-widthMM, 
	screen-heightMM.

      - list-of-screens returns the managed screens


    BUGS CORRECTED:

      - in fsms, if no "goto" state was given, the new state was setted to
	the same state. Now it is just left untouched, so that it is possible 
	to set the new state by sending user-events to the same fsm in an
	action

      - Gwm handles resizes of not-yet-mapped windows, allowing XTerms
	to appear quickly

      - undefinde keys cannot anymore be grabbed.

    STANDARD PROFILE MODS:

      - set-window et al. use now the class of the client rather than its
	name for resource management, and accept the screen type as an
	optional first argument

      - default for resources is now "any", not window, icon, etc...


1.3.1.35	(89/05/09)	stack-frames

    WOOL keeps now true stack frames, so it is able to correctly restore
    	local variable value when exiting across function calls and with
	calls by an "exit" call or an error
    ICCCM IconifyRequest was bugged
    -D was not working
    -a switch for "asynchronous" handling of moves and resizes
    ported to ibm PC/RT
    rxterm ksh shell script included in the distribution now
    (load 'foo)bar do not eat "b" anymore
    can unbind atoms now (primitive: "unbind")
    do not remap withdrawn windows on (re)start
    "simple-ed-borderwidth" variable to set the outer-borderwidth of the
	simple-ed-win standard decoration
    works now on pure SYSV or BSD Makefiles
    -i option to stay in PointerRoot input focus mode
