This file last changed: 8/17/88

The most recent changes to awm include:

Invalid free() removed from gram.y.
Transient window placement fixed.
Signal handling done correctly for system V.

Previous changes to awm:

Changes as of 7/2/88:

Border/title context rationalized, you may now have border contexts without
ntitle bars and vice-versa.

The whole paradigm for adding/removing various decorations has changed.
Functions such as f.notitle and f.gadget have been replaced with the
two functions f.decorate and f.nodecorate for reasons of simplicity.
It's now possible to specify on an application-by-application (or class-by
class) basis which "decorations" not to use. See the SPECIAL RESOURCES
section of the man page for more information.

Focus In/Out and Enter/Leave event handling now much more robust and
highlighting occurs when it should.

f.unfocus added for twm compatibility (not to mention general convenience).

The window name is now centered correctly in the titlebar (the net result
being that the titlebar background doesn't creep around the edges the way
it used to).

def.awmrc/system.awmrc ambiguity finally resolved in favor of system.awmrc.
The man page and makefile should now agree on this one.

Many bugs and general nits fixed.

Two lines of whitespace added after #ident lines to keep patch from
including them in context information (for those who have removed them).

Things have been sped up a bit.

Version numbers set to 1.1 in all files. Subsequent versions of awm will
increment this accordingly (major_release.fix_level).

Menus should now work on color systems.

Weird nit with XGetClassHint() that caused coredumps fixed.

Man page re-written substantially (Thanks to Bill Wohler), the format
of the resource descriptions below reflect part of his changes.

New make rule "noident" added for awm and awm/menus makefile. Doing
a "make noident" in the awm directory will remove all #ident lines from
awm and the menus. We use #ident at ardent without trouble (and on the
suns), but it seems to choke DEC's compilers. I'm not sure if this
is legal ansi anymore or not. In any case, if #ident chokes your compiler,
this will remove it.

New resources:

FrameFocus (boolean) ``off''
 Specifies whether or not focus changes should be looked for on the
 client window (as they are now) or on the frame.
 In a nutshell, if you set this to "off", the window will be not
 change state (be this highlight or stacking level) until you've
 left the frame (this includes the title bar) entirely. Correspondingly,
 enter highlight/autoraise is also done on the whole frame.
 This resource also has the side-effect of making the focus follow the
 pointer explicitly. Thus typing into titlebars will cause the keyboard input
 to go to the client window as expected.
 
border.foreground (string) ``foreground''
 Lets you specify the border color for awm's "frame" windows.


Changes as of 6/6/88
New resources:

windowName.offset: (int)
 Specifys an offset for the window name, rather than
 centering it.

title.height: (int)
 Allows you to physically set the height of titlebars (in pixels)
 to some value, rather than having it be derived from the size of
 the title font(s).

gadget.border: (int)
 Allows you to set the width of gadget box borders to some
 value.

border.hilite: (boolean)
 Specifies whether or not to change border colors on focus in/out.
 If this is undefined, and hilite is, it is set to the value of
 hilite. Since is was already possible to specify whether or not
 the window name and title background would be affected by focus
 changes, this resource rounds out the list.

For demonstration purposes are two files "twm.awmrc" and "twm.Xdefaults"
that can be used to make awm look very much like twm. If you want to try
this out, edit twm.Xdefaults so that the awm.path variable points to
/.../awm/bitmaps and load it into your resource manager.


A few more bugs were fixed. Pixmap icons should now stay sane.
Bad gravity specifications should be handled gracefully.
cursor glyph gadget boxes should now be the correct size.
A problem with FocusChange was fixed.
The restriction of compiling XRdBitFD only with Xlib has been lifted.

Autoselect now works in submenus. Menu item positioning has been
improved.

Changes as of 6/3/88:

Bug fixes/enhancements for first release.

A new context named "border" has been added. When enabled (by giving it a width, see
man page), it results in an artificial border area to which actions may be bound.
See the man page for information on configuring this.

It is now possible to bind to "text action" strings in the same manner as functions
and menus. Specifically, you may now invoke programs and manipulate the cut buffer
directly through bindings rather than having to go through menus. See the man
page for a more thorough explanation.

Cursors for title bars and border contexts (new) are now definable resources.

"resizeRelative" option from R2 uwm folded in along with uwm bug fixes.

New title.push option allows you to specify whether you want titles to push windows
down to make room (the default) or be added on top without moving them.

Support for the RTL Neaten package has been added. See the README file if you
wish to compile it in.

To avoid some confusion, it's now manadatory that you compile XRdBitFD.c into Xlib.
Seperate compilation is no longer supported. The resulting inconvenience is relatively
minor compared to what some people with irregular source trees experienced when trying
to compile it as part of awm.

Many bugs have been fixed, most notably a race condition on window mapping,
mapping/unmapping of windows, bogus event masks to gadgets, resize weirdness,
rubber banding and a number of coordinate botches that resulted from
adding frames around things. It's now possible to compile awm with gcc 1.22,
though I don't know about the neaten package.


Bug fixes to Beta.3

DEF_FONT is now in awm.h where it belongs and GetFontRes() has been
modified to use it.

Some of the default specs in awm.h have been ifdef'd so that you can
also specify them at compile time. Currently, you can do this for the font specs:

NAME			Default value
----			-------------
DEF_FONT		"fixed"
DEF_TITLE_FONT		"vtsingle"
DEF_ICON_FONT		"8x13"
DEF_POPUP_FONT		"9x15"
DEF_GADGET_FONT		"fixed"
DEF_MENU_FONT		"8x13"
DEF_BOLD_FONT		"8x13bold"

And the name and class of awm:

NAME			"awm"
CLASS			"Wm"

It's still suggested that you change them in awm.h when you're configuring
awm for your site, but this gives you an additional way of setting them.

Changes for beta release 3.

1. Total rewrite of Iconify.c and NewIconify, problems fixed are iconic
startup, icon/window positioning, icon_mask hints.

2. Each gadget may now have its own font, rather than having to
use a global gadget font (though this is still the default).
Non-printable characters can also now be specified, allowing you
to grab individual glyphs out of fonts and use them in gadgets.
The is probably most useful for getting things out of the cursor font.
See the man page for details.
Note: Though much of the necessary code is in place, it still is not
possible to use 16 bit fonts for this purpose. Though I'd love
to have gadgets containing Kanji glyphs (a picture is worth a thousand
words, especially in Kanji) and the like, I still don't know enough
about the mechanism to know how and when to use the X*Text*16 routines,
or how to store the "string" in such a way that it could be
painted into an 8 bit font as well.

3. Overall structure of the window manager has changed slightly.
The code should be easier to read and debug.

4. New "wall" boolean allows you to constrain moves to the edges of
the screen.

5. Some things that should have been getting their colors out of
the resource database now do.

6. Window name and class are now both checked when determing whether
or not to title a window.

7. Icons now use save-unders.

8. Certain operations should be faster.

9. The man page has been made more readable and updated somewhat.


CHANGES OVER UWM:

This window manager represents a fairly large departure from uwm
in the following ways:

 o	There are title bars and gadget boxes that represent fully independent
	contexts now (I.E. you can bind to them without conflict).

 o	Icons now represent a truly independent context.

 o	The menus have changed completely to allow walking menus and
	more flexibility as to contents (pictures or text) of individual panes.
	The menu interface has also been de-coupled somewhat from awm so
	that another menu package could be substituted at a
	later date. When an "official" toolkit menu widget exists, this
	will probably happen.

 o	Boolean variables may be set within menus and are also displayed
	with a checkmark (depending on whether or not they're set).

 o	Some effort is made to use save-unders and/or to minimize expose
	events due to window manager actions.

 o	Autoraise and border highlighting are available on focus.

 o	Almost everything has been moved out of the .awmrc file and into
	the resource database where it belongs.

 o	awm now supports a startup file that makes usage from xinit more
	friendly.

 
