
                   Three-D Athena Widgets (Xaw3d)
                          Kaleb S. KEITHLEY
                             kaleb@x.org

Features:

This is Release 1.0 (19 July, 1994) of a set of 3-D widgets based on the 
R6 Athena Widget set.  The Three-D Athena may be used as a general 
replacement for the Athena (Xaw) Widget set.

In general, you may relink almost any Athena Widget based application with 
the Three-D Athena Widget set and obtain a three dimensional appearance.  
On systems with shared libraries, you can replace your shared libXaw with 
libXaw3d and obtain the three dimensional appearance without even relinking.

Top and bottom shadow colors, shadow width, top and bottom shadow contrast
should be self explanatory, and may be set via the usual and customary 
methods, e.g. app-defaults, .Xdefaults, programmatically, with editres, 
etc.  The user data resource may be used to "hang" application specific 
data on a widget, and is only settable programmatically.


This release brings Xaw3d into sync with R6 Xaw. The following changes
were made:

    o Clock, Logo, and Mailbox widgets were removed, just like Xaw.

    o MultiSrc and MultiSink widgets were added, allowing use of
      input methods for easy internationalization and localization.


Known problems:

    o You won't be able to replace shared libXaw with libXaw3d on systems
      with SVR3 style shared libraries.

    o On SVR4/386, I've had reports that replacing shared libXaw with 
      libXaw3d works, and I've had reports that it doesn't.  Try it and 
      see.

    o Xaw3d pixel allocation doesn't behave well when beNiceToColormap
      is False and the Default Colormap is full.

    o The samples in Layout.h are wrong and don't work.  Example programs
      written by Keith Packard that use the Layout widget are available
      on export in /R5contrib/Layout.tar.Z

    o If you subclass Athena's Simple or Sme classes then there is a
      good change that Xaw3d isn't source code compatible with your
      widgets. Sorry. I have no plans to fix this any time soon.


xterm:

      A comment that appears in the xterm source:
         *
         * ...There be serious and nasty dragons here.
         *

      xterm is, well, xterm.  The auto-scroll in the arrow-style scrollbar 
      doesn't work in xterm because it relies on XtTimeouts.  xterm, perhaps 
      in the name of speed, circumvents XtAppNextEvent() and goes direct to 
      XNextEvent() to get it's XEvents, with the unfortunate side effect of 
      completely ignoring "other sources" like timeouts.  At this time I
      do not have a patch to fix xterm.


Getting:

Xaw3d may be found on ftp.x.org (198.112.44.100) and possibly other
sites; check archie.  On ftp.x.org it may be found in the file:

    ~ftp/contrib/widgets/Xaw3d/R6/Xaw3d-1.0.tar.gz

Building:  

Untar the distribution from the base of your X Consortium source tree.  
This will create the directory .../xc/lib/Xaw3d.  'cd' there and:

    'make Makefile; make includes; make depend; make; make install'.  

The Imakefile contains the line:

#    EXTRA_DEFINES = -DARROW_SCROLLBAR

If you want the arrow-scrollbar, then uncomment the line by deleting the '#'.

The Imakefile uses the Xaw symbols in .../xc/config/cf, so if you have 
debugging, profiling, shared libs, etc. specified for Xaw, you'll get 
them in Xaw3d too.


Using:

Just relink your Xaw based application with -lXaw3d.

To obtain an appearance similar to another well know widget set, use the 
following resources:
    *background:        LightSkyBlue
    *shapeStyle:        Rectangle
    *beNiceToColormap:  False

By default, Label widgets do not have shadows drawn for them.  You can
force shadows to be drawn for specifying:
    *Label*shadowWidth: 2

If you'd like the default behavior (i.e. not 3-D) on pulldown menus, use:
    *SmeBSB*shadowWidth: 0


Credits (in chronological order of their contribution):

          All the people at the X Consortium

          Achille Hui (eillihca@drizzle.stanford.edu)
          Robert Withrow (witr@rwwa.com)
          Malcolm Strickland (chuck-strickland@orl.mmc.com
          David Flanagan (david@ora.com)
          Jamie Zawinski (jwz%thalidomide@lucid.com
          Frank Terhaar-Yonkers (fty@bizarre.trpnc.epa.gov)
          Mike Schulze (mike@cs.curtin.edu.au)
          Gustaf Neumann (neumann@dec4.wu-wien.ac.at)
          Jerry Whelan (guru@stasi.bradley.edu)
          Mark Rawling (mwr@mel.dit.csiro.au)
          Tim Theisen (tim@cs.wisc.edu)
          Mitch Trachtenberg (mitch@mta.com)
          Keith Packard (keithp@ncd.com)

