packages icon
This file last changed February 8th, 1989.

In the grand tradition of adding to the README file, rather than
just starting it from scratch...

This represents the 2nd netwide release of awm. A number of bugs in
the menu package have been fixed (though by no means all) and awm
should work much better on color systems. The code has been more
extensively linted and generally cleaned up. Several new bits of
knowledge have made it possible to speed up things quite a bit in
certain situations. Subjective analysis is encouraged.
Many many niggling little problems have been fixed, though nothing
substantial has been changed or added. It was felt that increasing
the reliability of awm was far more important than adding new features,
though many are planned. Awm should now be a good deal more portable,
if you get any warnings (under BSD or SYSV) during compilation, let us
know.

As usual, people are encouraged to send mail to: awm-bugs@ardent.ardent.com
or to the author:

				Jordan Hubbard
                                PCS Computer Systeme GmbH
                                Pfaelzer-Wald-Str. 36
                                D-8000 Muenchen 90.
                                West Germany
				uunet!pyramid!pcsbst!jkh

-------
Old README follows:

This represents the first real release of the Ardent Window Manager (awm).
It's being released on the same terms as its predecessor (uwm) with
one additional request: Since this window manager is the "official"
window manager of Ardent Computer, a lot more effort and time will
be expended to ensure that it works reliably. Please try and coordinate
fixes and enhancements through Ardent so that all may benefit. There
are sure to be some bugs, we'll be here trying to fix them. Send
bug reports to the author, or to:

	{decwrl, uunet, hplabs, ucbcad, dlb}!ardent!awm-bugs


INSTALLATION:

Installation should be fairly straightforward. If you're using imake,
first modify $(TOPDIR)/util/imake.includes/Imake.tmpl to define a macro
called AWMDIR (look at UWMDIR for an example) which should point to
someplace where you want to stash the system.awmrc file. If you like,
you can just make UWMDIR and AWMDIR point to the same place since uwm
and awm's file names are different and won't conflict with eachother. If
you're using make (and don't want to use imake), modify the definition
of AWMDIR in the Makefile instead (sort of the wrong way to do it though).

Certain compilers don't like the #ident lines we use for sccs. If yours
doesn't, do a

	make noident

In the awm directory to remove all #ident lines from the source code.

The usual differences between system V and BSD include file structures
may also cause you trouble. In particular, <sys/time.h> may be different.
If FocusChng.c doesn't compile correctly on your system, see if the
correct include file is in /usr/include or /usr/include/sys (the correct
one should define a timeval struct). I've also heard that SunOS 4.0
fails to compile code that compiles fine on SunOS 3.x. I don't know
what the symptoms are (since I don't have a 4.0 system around), but
I've heard that the fix is to include <sys/file.h> in exp_path.c and
awm.c.

If you want awm's output to go to the console device (assumed to be
/dev/console), define CONSOLE in the I/Makefile (there are appropriate
comments that will show you what to do).

If all this seems confusing, send me mail and I'll try to explain
it differently.

Support for the RTL Neaten package has been added. If you'd like to compile
it in, you need to do two things:

  1. Obtain the RTL neaten package somehow. It's too big to bundle with awm,
     so it's expected that you'll have obtained it by some other means.
     If you are on a system V system with 14 character file names,
     you're in for a bit for work. Many of the files in the neaten
     package have very long names. After you've renamed all of the > 14 char
     files, you'll want to modify Makefile.rtl (in the awm directory)
     identically so that the file names match the new ones you've chosen.

  2. The makefile that comes with the neaten package assumes that you want to
     compile their neatening window manager (nuwm), so you don't want to use
     that. Awm will automatically use the "Makefile.rtl" makefile to compile
     the neaten package (see below), as long as it knows where you've put it.
     Modify awm's Imakefile (or Makefile) to point to the directory
     where neaten resides (the macro NEATEN_LIB) and uncomment/comment the
     appropriate macro definition lines.

  3. Do an imake/make. The make will compile all of awm's files and then
     proceed to make a neaten.a (in the neaten directory) to link against.


   If you don't compile awm with Neaten, the function f.neaten can
   still be bound but it will just print a warning message if invoked.

   Please note that the Neaten package has not been extensively tested with
   awm and should be considered an experimental "frill" more than anything else.
   It seems to shuffle icons around ok, though I don't understand some of its
   window placement logic. If it's useful, use it, if not, don't compile it in.


The rtl menu package in menus (non-optional) has its own Makefile which
you may wish to customize (compiler flags, compiler type, etc), though
the default configuration should produce a working awm binary on your
system. This whole setup needs to be gone through and redone, but that will
have to wait for another day (or a kind volunteer).


First time users of awm will probably want to read the manual page carefully
and then set about tailoring their .Xdefaults file accordingly. The actual
format of the .awmrc file does not differ substantially from uwm's .uwmrc file,
but since much of the variable declaration stuff has been moved into .Xdefaults,
a .uwmrc file will fail miserably if blithly copied into a .awmrc file. It's
probably easier to go from scratch, starting with .Xdefaults.

After defaults have been entered (by far the largest task), a careful
examination of your current uwm interface should be done to see what possible
benefits might be derived from title bar, gadget and border contexts.
You will most likely be able to eliminate almost all "chorded" buttons and
go to naked buttons on title bars/gadgets/borders. You can now also bind
naked buttons to icons without having the button stolen from applications,
so it's usually a win to bind an f.iconify to the icon context if you like the
way X10's xterm used to work.

Highlighting is a new feature which does quite a bit more than just tweak
border colors. It will change the title bar text font (and redisplay the text)
as well as alternating between two different title bar background pixmaps and
or border context pixmaps.

I use a blank pixmap for the regular background (which is the default, I.E.
I don't declare one) and a pixmap containing 7 horizontal lines for the
BoldPixmap.  The effect is not unlike a macintosh window. With some careful
artistry (and placement) of gadget boxes, one could probably emulate this
even more closely, though I'm not sure why one would want to.

When creating gadget box pixmaps, it's suggested that you look at the cursor
font first as there are a lot of suitable glyphs already there.


Any and all suggestions are, of course, appreciated. In addition to the
awm-bugs address given previously, you may communicate with the author
at any of the following addresses:


			Author:		Jordan Hubbard
			Internet:	jkh@violet.berkeley.edu
			UUCP:		{decwrl, hplabs, uunet}!ardent!jkh
			U.S. Mail:	Ardent Computer
					880 Maude
					Sunnyvale, Ca. 94086