Index of /pub/X/opengroup/contrib/widgets/Xaw3d/R6
Name Last modified Size Description
Parent Directory -
Xaw3d-1.0.tar.gz 1994-07-19 08:00 296K
xaw10.tgz 1994-07-19 08:00 296K
Xaw3d-1.1.tar.gz 1995-04-02 08:00 285K
xaw11.tgz 1995-04-02 08:00 285K
README 1995-08-17 08:00 7.4K
Xaw3d-1.2.tar.gz 1995-08-24 08:00 298K
xaw12.tgz 1995-08-24 08:00 298K
linux-elf-libXaw3d.so.6.0 1995-11-02 09:00 289K
Three-D Athena Widgets (Xaw3d)
Kaleb S. KEITHLEY
kaleb@x.org
Features:
This is Release 1.2 (16 August, 1995) 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
some of the widgets. On systems with shared libraries, you may be able to
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.
The following changes were made in this release:
o Addition of jump_funcs, jump_ignore, and jump_vars files and
support in the Imakefile for building shared libraries on Linux.
o Some minor bug fixes.
Known problems:
o You may not be be able to replace shared libXaw with libXaw3d on
systems with SVR3 style shared libraries.
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, or subclasses
thereof, then there's a definite chance that Xaw3d isn't source
code compatible with your widgets. Sorry. I have no plans to fix
this.
Linux:
Linux. I don't have much to say about Linux except to wonder why
you aren't using FreeBSD instead.
In what seems to be typical Linux style there seem to be at least
one unofficial variation of Xaw3d with "enhancements" and bug
fixes.
There's only one official version of Xaw3d source, and that's the
one on ftp.x.org and its mirrors. I don't mind that people fix bugs
or make enhancements for their own use, that's what freely
redistributable source is all about.
If you're using either the library and headers in:
ftp://sunsite.unc.edu/pub/Linux/libs/X/Xaw3d-1.1-bin.tar.gz.
or a library built from the hacked sources in:
ftp://sunsite.unc.edu/pub/Linux/libs/X/Xaw3d-1.1-src.tar.gz.
and you have problems, don't tell me about it, tell Dimitri
(dimitri@ee.ubc.ca).
To build on Linux you need X11R6 patched through fix-11 or
fix-12, or XFree86 3.1.1 or 3.1.2. The Imakefile (and the
Makefile generated by it) does work on a 1.1.59 (a.out) system
and a 1.2.11 ELF system. I no longer have access to an a.out
Linux system so I am unable to provide a shared library. Since
building shared libraries on Linux/ELF is so easy I'll leave
that as an exercise to the reader.
Comments:
o The source is really really really really (are you getting the
hint?) intended to be built inside an R6 source tree. You might
be able to build it outside the source tree, but if you try, you're
on your own. It's hard enough to find time to put out these releases,
I don't have time for handholding if you choose to disregard this
advice. If you don't have a source tree, for whatever reason, plan
on using binaries built by someone else. I'm sorry, that's just the
way it has to be.
Some people have written to me and told me that if you add the
following line to the Imakefile:
EXTRA_INCLUDES=-I.
then you can build it anywhere you want, i.e. outside the R6 source
tree. If this works for you, great. If not, sorry. See above.
o Many people have written to me with enhancements and bug fixes.
If your enhancement or bug fix didn't make it into this release
then please understand that I'm very busy with other work and I
have very little time to devote to Xaw3d. Your enhancement may
appear in some future release. Again, I'm sorry, but that's just
the way it has to be.
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 the R6 xterm. There is a patch to the R5
xterm on ftp://ftp.x.org/contrib/widgets/Xaw3d/R5. It shouldn't be
hard to integrate it into the R6 sources.
Getting:
Xaw3d may be found on:
ftp://ftp.x.org/contrib/widgets/Xaw3d/R6/Xaw3d-1.2.tar.gz
and mirror sites around the world.
Building:
Untar the distribution from the base of your X Consortium source tree
with the command:
'gunzip -c Xaw3d-1.2.tar.gz | tar xpf -'
This will create the directory .../xc/lib/Xaw3d. 'cd' there and..
If building on SunOS 4 with the bundled compiler or any other machine
with a non-ANSI C compiler:
'rm laylex.c; make laylex.c' Proceed to the next step...
Otherwise just enter the following commands:
'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)
Dimitri P. Bouras (dimitri@ee.ubc.ca)
Uri ??? (uri@watson.ibm.com)
Heiko Schroeder (heiko@pool.informatik.rwth-aachen.de)