v13i063: xrainbow, Part01/05

Dave Nedde daven at maxine.WPI.EDU
Fri Jun 28 11:04:12 AEST 1991


Submitted-by: daven at maxine.WPI.EDU (Dave Nedde)
Posting-number: Volume 13, Issue 63
Archive-name: xrainbow/part01

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 1 (of 5)."
# Contents:  xrainbow xrainbow/README xrainbow/Imakefile
#   xrainbow/Makefile xrainbow/Xrainbow xrainbow/xrainbow.1
#   xrainbow/xrainbow.doc xrainbow/Wc1_05 xrainbow/Wc1_05/Doc
#   xrainbow/Wc1_05/Doc/1stREADME xrainbow/Wc1_05/Imakefile
#   xrainbow/Wc1_05/Install.rules xrainbow/Wc1_05/Makefile
#   xrainbow/Wc1_05/README xrainbow/Wc1_05/Wc.tmpl xrainbow/Wc1_05/Wc
#   xrainbow/Wc1_05/Wc/Imakefile xrainbow/Wc1_05/Wc/Xt4GetResL.c
#   xrainbow/Wc1_05/patchlevel.h xrainbow/X11 xrainbow/X11/Xaw_d
#   xrainbow/X11/Xaw_d/DrawingA.h xrainbow/include
# Wrapped by daven at ash on Mon Jun  3 12:33:20 1991
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test ! -d 'xrainbow' ; then
    echo shar: Creating directory \"'xrainbow'\"
    mkdir 'xrainbow'
fi
if test -f 'xrainbow/README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xrainbow/README'\"
else
echo shar: Extracting \"'xrainbow/README'\" \(1794 characters\)
sed "s/^X//" >'xrainbow/README' <<'END_OF_FILE'
XWhat is Xrainbow?
X  Xrainbow displays all of the system colors with their names
X  (Usually in the file /usr/lib/X11/rgb.txt).  Unlike xcolors, however, ALL 
X  colors can be viewed without re-running the program, and the colors can
X  be scrolled through.  The list of colors can also be sorted by name, 
X  "adjustable intensity", RGB, or any combination thereof.
X
XTo Build and Install:
X* Note that you must have X11R4 and Athena widgets on the target machine.
X  Xrainbow has been build and tested on a:
X	Sun SparcStation1/Sun 4 running SunOS release 4.0.3 and X11R4 installed
X	DecStation running ULTRIX V4.0 (Rev 179) and X11R4 installed
X	Encore Multimax 310 Running Umax 4.3 and X11R4 installed
X
X* If you have imake, type 'make World' and several things will happen:
X    The Makefile in the current directory is remade using imake
X    The Makefiles in all other directorys are remade using imake
X    All the sources are compiled
X
X* If you don't have imake, type 'make no_imake_World'.  This will use the
X  default makefiles provided.
X
X* The executable is now main/xrainbow.  This program used the Widget Creation 
X  Library, and, therefore MUST be able to load the resource file Xrainbow.  
X  This can be done by:
X   - Moving Xrainbow to /usr/lib/X11/app-defaults
X   - 'setenv XENVIRONMENT /wherever/XRainbow/Xrainbow'
X   - 'setenv XAPPLRESDIR /directory-holding-resource-file'
X
XCopyright:
X  Copyright 1991, David Nedde
X
X  Permission to use, copy, modify, and distribute this software
X  and its documentation for any purpose and without fee is granted
X  provided that the above copyright notice appears in all copies.
X  It is provided "as is" without express or implied warranty.
X--
XDavid Nedde, Computer Science Dept.
Xdaven at maxine.wpi.edu
XWorcester Polytechnic Institute		
XWorcester, MA 01609
END_OF_FILE
if test 1794 -ne `wc -c <'xrainbow/README'`; then
    echo shar: \"'xrainbow/README'\" unpacked with wrong size!
fi
# end of 'xrainbow/README'
fi
if test -f 'xrainbow/Imakefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xrainbow/Imakefile'\"
else
echo shar: Extracting \"'xrainbow/Imakefile'\" \(479 characters\)
sed "s/^X//" >'xrainbow/Imakefile' <<'END_OF_FILE'
X/**/#
X/**/#   Imakefile for XRainbow : Dave Nedde (daven at wpi.wpi.edu)
X/**/#
X
X#define IHaveSubdirs
X#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
X
XLIBDIRS = \
X	X11/Xaw_d \
X	Wc1_05/Wc
XSRCDIRS = \
X	main
XSUBDIRS = \
X	$(LIBDIRS) \
X	$(SRCDIRS)
X
X
XCDEBUGFLAGS = # -g
X
X
XMakeSubdirs($(SUBDIRS))
X
XWorld:
X	$(MAKE) Makefile
X	$(MAKE) Makefiles
X	$(MAKE) depend
X	$(MAKE) all
X
Xno_imake_World:
X	$(MAKE) all
X
XDependSubdirs($(SUBDIRS))
X
XMakeLintLibSubdirs($(LIBDIRS))
X
XLintSubdirs($(SRCDIRS))
END_OF_FILE
if test 479 -ne `wc -c <'xrainbow/Imakefile'`; then
    echo shar: \"'xrainbow/Imakefile'\" unpacked with wrong size!
fi
# end of 'xrainbow/Imakefile'
fi
if test -f 'xrainbow/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xrainbow/Makefile'\"
else
echo shar: Extracting \"'xrainbow/Makefile'\" \(12365 characters\)
sed "s/^X//" >'xrainbow/Makefile' <<'END_OF_FILE'
X# Makefile generated by imake - do not edit!
X# $XConsortium: imake.c,v 1.51 89/12/12 12:37:30 jim Exp $
X#
X# The cpp used on this machine replaces all newlines and multiple tabs and
X# spaces in a macro expansion with a single space.  Imake tries to compensate
X# for this, but is not always successful.
X#
X
X###########################################################################
X# Makefile generated from "Imake.tmpl" and <Imakefile>
X# $XConsortium: Imake.tmpl,v 1.77 89/12/18 17:01:37 jim Exp $
X#
X# Platform-specific parameters may be set in the appropriate .cf
X# configuration files.  Site-wide parameters may be set in the file
X# site.def.  Full rebuilds are recommended if any parameters are changed.
X#
X# If your C preprocessor doesn't define any unique symbols, you'll need
X# to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
X# "make Makefile", "make Makefiles", or "make World").
X#
X# If you absolutely can't get imake to work, you'll need to set the
X# variables at the top of each Makefile as well as the dependencies at the
X# bottom (makedepend will do this automatically).
X#
X
X###########################################################################
X# platform-specific configuration parameters - edit sun.cf to change
X
X# platform:  $XConsortium: sun.cf,v 1.38 89/12/23 16:10:10 jim Exp $
X# operating system:  SunOS 4.1
X
X###########################################################################
X# site-specific configuration parameters - edit site.def to change
X
X# site:  $XConsortium: site.def,v 1.21 89/12/06 11:46:50 jim Exp $
X
X            SHELL = /bin/sh
X
X              TOP = .
X      CURRENT_DIR = .
X
X               AR = ar cq
X  BOOTSTRAPCFLAGS =
X               CC = cc
X
X         COMPRESS = compress
X              CPP = /lib/cpp $(STD_CPP_DEFINES)
X    PREPROCESSCMD = cc -E $(STD_CPP_DEFINES)
X          INSTALL = install
X               LD = ld
X             LINT = lint
X      LINTLIBFLAG = -C
X         LINTOPTS = -axz
X               LN = ln -s
X             MAKE = make
X               MV = mv
X               CP = cp
X           RANLIB = ranlib
X  RANLIBINSTFLAGS =
X               RM = rm -f
X     STD_INCLUDES =
X  STD_CPP_DEFINES =
X      STD_DEFINES =
X EXTRA_LOAD_FLAGS =
X  EXTRA_LIBRARIES =
X             TAGS = ctags
X
X    SHAREDCODEDEF = -DSHAREDCODE
X         SHLIBDEF = -DSUNSHLIB
X
X    PROTO_DEFINES =
X
X     INSTPGMFLAGS =
X
X     INSTBINFLAGS = -m 0755
X     INSTUIDFLAGS = -m 4755
X     INSTLIBFLAGS = -m 0664
X     INSTINCFLAGS = -m 0444
X     INSTMANFLAGS = -m 0444
X     INSTDATFLAGS = -m 0444
X    INSTKMEMFLAGS = -m 4755
X
X          DESTDIR =
X
X     TOP_INCLUDES = -I$(INCROOT)
X
X      CDEBUGFLAGS = -O
X        CCOPTIONS =
X      COMPATFLAGS = -DXAW_BC
X
X      ALLINCLUDES = $(STD_INCLUDES) $(TOP_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES)
X       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(DEFINES) $(COMPATFLAGS)
X           CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
X        LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
X           LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
X        LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)
X   LDCOMBINEFLAGS = -X -r
X
X        MACROFILE = sun.cf
X           RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
X
X    IMAKE_DEFINES =
X
X         IRULESRC = $(CONFIGDIR)
X        IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
X
X     ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
X			$(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
X			$(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
X
X###########################################################################
X# X Window System Build Parameters
X# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
X
X###########################################################################
X# X Window System make variables; this need to be coordinated with rules
X# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
X
X          PATHSEP = /
X        USRLIBDIR = $(DESTDIR)/usr/lib
X           BINDIR = $(DESTDIR)/usr/bin/X11
X          INCROOT = $(DESTDIR)/usr/include
X     BUILDINCROOT = $(TOP)
X      BUILDINCDIR = $(BUILDINCROOT)/X11
X      BUILDINCTOP = ..
X           INCDIR = $(INCROOT)/X11
X           ADMDIR = $(DESTDIR)/usr/adm
X           LIBDIR = $(USRLIBDIR)/X11
X        CONFIGDIR = $(LIBDIR)/config
X       LINTLIBDIR = $(USRLIBDIR)/lint
X
X          FONTDIR = $(LIBDIR)/fonts
X         XINITDIR = $(LIBDIR)/xinit
X           XDMDIR = $(LIBDIR)/xdm
X           AWMDIR = $(LIBDIR)/awm
X           TWMDIR = $(LIBDIR)/twm
X           GWMDIR = $(LIBDIR)/gwm
X          MANPATH = $(DESTDIR)/usr/man
X    MANSOURCEPATH = $(MANPATH)/man
X           MANDIR = $(MANSOURCEPATH)n
X        LIBMANDIR = $(MANSOURCEPATH)3
X      XAPPLOADDIR = $(LIBDIR)/app-defaults
X
X        SOXLIBREV = 4.2
X          SOXTREV = 4.0
X         SOXAWREV = 4.0
X        SOOLDXREV = 4.0
X         SOXMUREV = 4.0
X        SOXEXTREV = 4.0
X
X       FONTCFLAGS = -t
X
X     INSTAPPFLAGS = $(INSTDATFLAGS)
X
X            IMAKE = imake
X           DEPEND = makedepend
X              RGB = rgb
X            FONTC = bdftosnf
X        MKFONTDIR = mkfontdir
X        MKDIRHIER = /bin/sh $(BINDIR)/mkdirhier.sh
X
X        CONFIGSRC = $(TOP)/config
X        CLIENTSRC = $(TOP)/clients
X          DEMOSRC = $(TOP)/demos
X           LIBSRC = $(TOP)/lib
X          FONTSRC = $(TOP)/fonts
X       INCLUDESRC = $(TOP)/X11
X        SERVERSRC = $(TOP)/server
X          UTILSRC = $(TOP)/util
X        SCRIPTSRC = $(UTILSRC)/scripts
X       EXAMPLESRC = $(TOP)/examples
X       CONTRIBSRC = $(TOP)/../contrib
X           DOCSRC = $(TOP)/doc
X           RGBSRC = $(TOP)/rgb
X        DEPENDSRC = $(UTILSRC)/makedepend
X         IMAKESRC = $(CONFIGSRC)
X         XAUTHSRC = $(LIBSRC)/Xau
X          XLIBSRC = $(LIBSRC)/X
X           XMUSRC = $(LIBSRC)/Xmu
X       TOOLKITSRC = $(LIBSRC)/Xt
X       AWIDGETSRC = $(LIBSRC)/Xaw
X       OLDXLIBSRC = $(LIBSRC)/oldX
X      XDMCPLIBSRC = $(LIBSRC)/Xdmcp
X      BDFTOSNFSRC = $(FONTSRC)/bdftosnf
X     MKFONTDIRSRC = $(FONTSRC)/mkfontdir
X     EXTENSIONSRC = $(TOP)/extensions
X
X  DEPEXTENSIONLIB = $(USRLIBDIR)/libXext.a
X     EXTENSIONLIB =  -lXext
X
X          DEPXLIB = $(DEPEXTENSIONLIB)
X             XLIB = $(EXTENSIONLIB) -lX11
X
X      DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
X         XAUTHLIB =  -lXau
X
X        DEPXMULIB =
X           XMULIB = -lXmu
X
X       DEPOLDXLIB =
X          OLDXLIB = -loldX
X
X      DEPXTOOLLIB =
X         XTOOLLIB = -lXt
X
X        DEPXAWLIB =
X           XAWLIB = -lXaw
X
X LINTEXTENSIONLIB = $(USRLIBDIR)/llib-lXext.ln
X         LINTXLIB = $(USRLIBDIR)/llib-lX11.ln
X          LINTXMU = $(USRLIBDIR)/llib-lXmu.ln
X        LINTXTOOL = $(USRLIBDIR)/llib-lXt.ln
X          LINTXAW = $(USRLIBDIR)/llib-lXaw.ln
X
X          DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
X
X         DEPLIBS1 = $(DEPLIBS)
X         DEPLIBS2 = $(DEPLIBS)
X         DEPLIBS3 = $(DEPLIBS)
X
X###########################################################################
X# Imake rules for building libraries, programs, scripts, and data files
X# rules:  $XConsortium: Imake.rules,v 1.67 89/12/18 17:14:15 jim Exp $
X
X###########################################################################
X# start of Imakefile
X
X#
X#   Imakefile for XRainbow : Dave Nedde (daven at wpi.wpi.edu)
X#
X
XLIBDIRS = \
X	X11/Xaw_d \
X	Wc1_05/Wc
XSRCDIRS = \
X	main
XSUBDIRS = \
X	$(LIBDIRS) \
X	$(SRCDIRS)
X
XCDEBUGFLAGS = # -g
X
Xall::
X	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
X	for i in $(SUBDIRS) ;\
X	do \
X	(cd $$i ; echo "making" all "in $(CURRENT_DIR)/$$i..."; \
X	$(MAKE) $(MFLAGS) 'CDEBUGFLAGS=$(CDEBUGFLAGS)' all); \
X	done
X
XWorld:
X	$(MAKE) Makefile
X	$(MAKE) Makefiles
X	$(MAKE) depend
X	$(MAKE) all
X
Xno_imake_World:
X	$(MAKE) all
X
Xdepend::
X	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
X	for i in $(SUBDIRS) ;\
X	do \
X	(cd $$i ; echo "depending" "in $(CURRENT_DIR)/$$i..."; \
X	$(MAKE) $(MFLAGS)   depend); \
X	done
X
Xlintlib::
X	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
X	for i in $(LIBDIRS) ;\
X	do \
X	(cd $$i ; echo "linting" for lintlib and lintlib "in $(CURRENT_DIR)/$$i..."; \
X	$(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' LINTOPTS='$(LINTOPTS)' lintlib); \
X	done
X
Xlint::
X	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
X	for i in $(SRCDIRS) ;\
X	do \
X	(cd $$i ; echo "linting" for lint and lint "in $(CURRENT_DIR)/$$i..."; \
X	$(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' LINTOPTS='$(LINTOPTS)' lint); \
X	done
X
X###########################################################################
X# common rules for all Makefiles - do not edit
X
Xemptyrule::
X
Xclean::
X	$(RM_CMD) \#*
X
XMakefile::
X	- at if [ -f Makefile ]; then \
X	echo "	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak"; \
X	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
X	else exit 0; fi
X	$(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
X
Xtags::
X	$(TAGS) -w *.[ch]
X	$(TAGS) -xw *.[ch] > TAGS
X
X###########################################################################
X# rules for building in SUBDIRS - do not edit
X
Xinstall::
X	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
X	for i in $(SUBDIRS) ;\
X	do \
X	(cd $$i ; echo "installing" "in $(CURRENT_DIR)/$$i..."; \
X	$(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install); \
X	done
X
Xinstall.man::
X	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
X	for i in $(SUBDIRS) ;\
X	do \
X	(cd $$i ; echo "installing man pages" "in $(CURRENT_DIR)/$$i..."; \
X	$(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install.man); \
X	done
X
Xclean::
X	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
X	for i in $(SUBDIRS) ;\
X	do \
X	(cd $$i ; echo "cleaning" "in $(CURRENT_DIR)/$$i..."; \
X	$(MAKE) $(MFLAGS) RM_CMD='$(RM_CMD)' clean); \
X	done
X
Xtags::
X	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
X	for i in $(SUBDIRS) ;\
X	do \
X	(cd $$i ; echo "tagging" "in $(CURRENT_DIR)/$$i..."; \
X	$(MAKE) $(MFLAGS) TAGS='$(TAGS)' tags); \
X	done
X
XMakefiles::
X	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
X	for i in $(SUBDIRS) ;\
X	do \
X	echo "making Makefiles in $(CURRENT_DIR)/$$i..."; \
X	case "$$i" in \
X	./?*/?*/?*/?*) newtop=../../../../ sub=subsubsubsub;; \
X	./?*/?*/?*) newtop=../../../ sub=subsubsub;; \
X	./?*/?*) newtop=../../ sub=subsub;; \
X	./?*) newtop=../ sub=sub;; \
X	*/?*/?*/?*) newtop=../../../../ sub=subsubsubsub;; \
X	*/?*/?*) newtop=../../../ sub=subsubsub;; \
X	*/?*) newtop=../../ sub=subsub;; \
X	*) newtop=../ sub=sub;; \
X	esac; \
X	case "$(TOP)" in \
X	/?*) newtop= upprefix= ;; \
X	*) upprefix=../ ;; \
X	esac; \
X	$(MAKE) $${sub}dirMakefiles UPPREFIX=$$upprefix NEWTOP=$$newtop \
X	MAKEFILE_SUBDIR=$$i NEW_CURRENT_DIR=$(CURRENT_DIR)/$$i;\
X	done
X
XsubdirMakefiles:
X	$(RM) $(MAKEFILE_SUBDIR)/Makefile.bak
X	- at if [ -f $(MAKEFILE_SUBDIR)/Makefile ]; then \
X	echo "	$(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak"; \
X	$(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak; \
X	else exit 0; fi
X	cd $(MAKEFILE_SUBDIR); $(IMAKE_CMD) -DTOPDIR=$(UPPREFIX)$(TOP) -DCURDIR=$(NEW_CURRENT_DIR); \
X	$(MAKE) $(MFLAGS) Makefiles
X
XsubsubdirMakefiles:
X	$(RM) $(MAKEFILE_SUBDIR)/Makefile.bak
X	- at if [ -f $(MAKEFILE_SUBDIR)/Makefile ]; then \
X	echo "	$(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak"; \
X	$(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak; \
X	else exit 0; fi
X	cd $(MAKEFILE_SUBDIR); $(IMAKE_CMD) -DTOPDIR=$(UPPREFIX)$(UPPREFIX)$(TOP) -DCURDIR=$(NEW_CURRENT_DIR); \
X	$(MAKE) $(MFLAGS) Makefiles
X
XsubsubsubdirMakefiles:
X	$(RM) $(MAKEFILE_SUBDIR)/Makefile.bak
X	- at if [ -f $(MAKEFILE_SUBDIR)/Makefile ]; then \
X	echo "	$(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak"; \
X	$(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak; \
X	else exit 0; fi
X	cd $(MAKEFILE_SUBDIR); $(IMAKE_CMD) -DTOPDIR=$(UPPREFIX)$(UPPREFIX)$(UPPREFIX)$(TOP) -DCURDIR=$(NEW_CURRENT_DIR); \
X	$(MAKE) $(MFLAGS) Makefiles
X
XsubsubsubsubdirMakefiles:
X	$(RM) $(MAKEFILE_SUBDIR)/Makefile.bak
X	- at if [ -f $(MAKEFILE_SUBDIR)/Makefile ]; then \
X	echo "	$(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak"; \
X	$(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak; \
X	else exit 0; fi
X	cd $(MAKEFILE_SUBDIR); $(IMAKE_CMD) -DTOPDIR=$(UPPREFIX)$(UPPREFIX)$(UPPREFIX)$(UPPREFIX)$(TOP) -DCURDIR=$(NEW_CURRENT_DIR); \
X	$(MAKE) $(MFLAGS) Makefiles
X
Xincludes::
X	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
X	for i in $(SUBDIRS) ;\
X	do \
X	(cd $$i ; echo including "in $(CURRENT_DIR)/$$i..."; \
X	$(MAKE) $(MFLAGS)   includes); \
X	done
X
X###########################################################################
X# dependencies generated by makedepend
X
END_OF_FILE
if test 12365 -ne `wc -c <'xrainbow/Makefile'`; then
    echo shar: \"'xrainbow/Makefile'\" unpacked with wrong size!
fi
# end of 'xrainbow/Makefile'
fi
if test -f 'xrainbow/Xrainbow' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xrainbow/Xrainbow'\"
else
echo shar: Extracting \"'xrainbow/Xrainbow'\" \(7878 characters\)
sed "s/^X//" >'xrainbow/Xrainbow' <<'END_OF_FILE'
X   xrainbow.app - Resource file for XRainbow.  This file defines most of the
X                  widget hierarchy and values for the widgets.
X
X   Copyright 1991, David Nedde
X
X   Permission to use, copy, modify, and distribute this software
X   and its documentation for any purpose and without fee is granted
X   provided that the above copyright notice appears in all copies.
X   It is provided "as is" without express or implied warranty.
X
X
Xxrainbow.wcChildren:	mform
Xxrainbow.wcPopups:	sort_popup
Xxrainbow.title:		XRainbow
Xxrainbow.iconName:      XRainbow
Xxrainbow*input:         True
X
X*mform.wcClass:		formWidgetClass
X*mform.wcChildren:	quit,about1,author1,sort,viewport
X
X*quit.wcClass:		commandWidgetClass
X*quit.label:		Quit
X*quit.callback:		WcExitCB
X
X*about1.wcClass:	commandWidgetClass
X*about1.fromHoriz:	*quit
X*about1.label:		XRainbow V1.0
X*about1.callback:	WcCreateChildrenCB(xrainbow, about),\
X					WcManageCB(*about_form), \
X					WcPopupGrabCB(*about)
X
X*author1.wcClass:	commandWidgetClass
X*author1.fromHoriz:	*about1
X*author1.label:		by David Nedde 
X*author1.callback:	WcCreateChildrenCB(xrainbow,author),\
X					WcManageCB(*author_form), \
X					WcPopupGrabCB(*author)
X
X*sort.wcClass:		commandWidgetClass
X*sort.fromHoriz:	*author1
X*sort.label:		Sort
X*sort.callback:		WcManageCB(*sort_form), \
X			WcPopupCB(*sort_popup)
X
X*viewport.wcClass:	viewportWidgetClass
X*viewport.wcChildren:	aform
X*viewport.fromVert:	*quit
X*viewport.allowVert:	True
X*viewport.allowHoriz:	True
X*viewport.height:	500
X*viewport.width:	400
X
X
X! Aform holds the form, drawingArea, and label widgets displaying the colors
X*aform.wcClass:				formWidgetClass
X*aform.borderWidth:			0
X*aform.defaultDistance:			1
X!*aform.Form.borderWidth:		0
X*aform.Form.resizable:			True
X*aform.Form.Label.resizable: 		True
X*aform.Form.Label.borderWidth: 		0
X*aform.Form.DrawingArea.width:		100
X*aform.Form.DrawingArea.borderWidth:	0
X
X
X#=-=-=-=-=-=-=-= 'About' popup definition =-=-=-=-=-=-=-=-=-=-=
X*about.wcClass:			transientShellWidgetClass
X*about.wcChildren:		about_form
X*about.popupCallback:		PlaceWindow(*about1,-1,20)
X*about.wcManaged:		False
X*about.title:			About Popup
X
X*about_form.wcClass:		formWidgetClass
X*about_form.wcChildren:		ok_button,about_label,pop_mess
X
X*ok_button.wcClass:		commandWidgetClass
X*ok_button.label:		OK
X*ok_button.callback:		WcPopdownCB( *about )
X
X*about_label.wcClass:		labelWidgetClass
X*about_label.borderWidth:	0
X*about_label.label:		About XRainbow
X*about_label.fromHoriz:		*ok_button
X*about_label.resizable:		True
X
X*pop_mess.wcClass:		asciiTextWidgetClass
X*pop_mess*fromVert:		*about_label
X*pop_mess*scrollHorizontal:	whenNeeded
X*pop_mess*scrollVertical:	whenNeeded
X*pop_mess*type:			string
X*about_form.pop_mess.width:	450
X*about_form.pop_mess.height:	150
X*pop_mess*string:\
XXRainbow V1.0\n\
XWritten by David Nedde 5/91\n\
X\n\
XThis program allows you to view standard client (rgb.txt) colors\n\
X\n\
XCopyright 1991, David Nedde\n\
X\n\
XPermission to use, copy, modify, and distribute this software\n\
Xand its documentation for any purpose and without fee is granted\n\
Xprovided that the above copyright notice appears in all copies.\n\
XIt is provided "as is" without express or implied warranty.\n
X
X
X#=-=-=-=-=-=-=-= 'Author' popup definition =-=-=-=-=-=-=-=-=-=-=
X*author.wcClass:		transientShellWidgetClass
X*author.wcChildren:		author_form
X*author.popupCallback:		PlaceWindow(*author1,-1,20)
X*author.wcManaged:		False
X*author.title:			Author Popup
X*author_form.wcClass:		formWidgetClass
X*author_form.wcChildren:	ok_button,author_label,pop_mess
X
X*author_form.ok_button.callback:WcPopdownCB( *author )
X
X*author_label.wcClass:		labelWidgetClass
X*author_label.borderWidth:	0
X*author_label.label:		Author of XRainbow
X*author_label.fromHoriz:	*ok_button
X*author_label.resizable:	True
X
X*author_form.pop_mess.width:	450
X*author_form.pop_mess.height:	60
X*author_form.pop_mess.fromVert:	*author_label
X*author_form.pop_mess*string:\
XDavid Nedde, Computer Science Dept.\n\
Xdaven@{maxine|wpi}.wpi.edu\n\
XWorcester Polytechnic Institute\n\
XWorcester, MA 01609\n
X
X
X!-=-=-=-=-=- Sort popup =-=-=-=-=-=-=-=-==-
X*sort_popup.wcClass:	topLevelShellWidgetClass
X*sort_popup.wcChildren:	sort_form
X*sort_popup.wcManaged:	False
X*sort_popup.title:	Sort Control Panel
X*sort_popup.allowShellResize: True
X*sort_popup.iconName:	XRainbow Sort
X
X*sort_form.wcClass:	panedWidgetClass
X*sort_form.wcChildren:	sort_top,sort_lists,sort_intensity
X*sort_form.internalBorderWidth:	2
X*sort_form*showGrip:	False
X!-----
X*sort_top.wcClass:	formWidgetClass
X*sort_top.wcChildren:	sort_ok, sort_apply, sort_title
X
X*sort_ok.wcClass:	commandWidgetClass
X*sort_ok.label:		Close
X*sort_ok.callback:	WcPopdownCB(*sort_popup)
X
X*sort_apply.wcClass:	commandWidgetClass
X*sort_apply.label:	Apply
X*sort_apply.fromHoriz:	*sort_ok
X*sort_apply.callback:	resort_list()
X
X*sort_title.wcClass:	labelWidgetClass
X*sort_title.label:	XRainbow Sort Control Panel
X*sort_title.fromHoriz:	*sort_apply
X*sort_title.borderWidth:0
X!-----
X*sort_lists.wcClass:	formWidgetClass
X*sort_lists.wcChildren:	left_form,right_form
X*sort_lists.borderWidth:0
X
X*left_form.wcClass:	formWidgetClass
X*left_form.wcChildren:	left_label,left_list
X*left_form.borderWidth:	0
X
X*left_label.wcClass:	labelWidgetClass
X*left_label.label:	Sort Keys Available:
X*left_label.borderWidth:0
X*left_label*translations: #augment \
X		<Key>Return:	WcSetValueACT(*left_label.label: gotit)
X
X*left_list.wcClass:	listWidgetClass
X*left_list.wcCallback:	setup_lists(left)
X*left_list.resizable:	True
X*left_list.fromVert:	*left_label
X*left_list.borderWidth:	0
X*left_list.forceColumns:True
X*left_list.defaultColumns: 1
X*left_list.callback:	list_callback(left)
X
X*right_form.wcClass:	formWidgetClass
X*right_form.wcChildren:	right_label,right_list
X*right_form.borderWidth:0
X*right_form.fromHoriz:	*left_form
X*right_form.resizable:	True
X
X*right_label.wcClass:	labelWidgetClass
X*right_label.label:	Keys to Sort On:
X*right_label.borderWidth:0
X
X*right_list.wcClass:	listWidgetClass
X*right_list.resizable:	True
X*right_list.wcCallback:	setup_lists(right)
X*right_list.fromVert:	*left_label
X*right_list.borderWidth:0
X*right_list.forceColumns:True
X*right_list.defaultColumns: 1
X*right_list.callback:	list_callback(right)
X!-----
X*sort_intensity.wcClass:formWidgetClass
X*sort_intensity.wcChildren: int_label,red_label,red_value,green_label,\
X				green_value,blue_label,blue_value
X*sort_intensity.borderWidth: 0
X
X*int_label.wcClass:	labelWidgetClass
X*int_label.borderWidth: 0
X*int_label.label:	Intensity Scale:
X
X*red_label.wcClass:	labelWidgetClass
X*red_label.borderWidth:	0
X*red_label.label:	Red
X*red_label.fromHoriz:	*int_label
X*red_value.wcClass:	asciiTextWidgetClass
X*red_value*string:	
X*red_value*editType:	edit
X*red_value.width:	40
X*red_value.fromHoriz:	*red_label
X*red_value.translations:#override \
X				<Key>Return:	EndAsciiValAction(red_value)\n\
X				<Leave>:	EndAsciiValAction(red_value)\n\
X				<Key>space:	no-op(RingBell)\n\
X				<Key>Tab:	no-op(RingBell)
X
X*green_label.wcClass:	labelWidgetClass
X*green_label.borderWidth:	0
X*green_label.label:	Green
X*green_label.fromHoriz:	*red_value
X*green_value.wcClass:	asciiTextWidgetClass
X*green_value*string:	
X*green_value*editType:	edit
X*green_value.width:	40
X*green_value.fromHoriz:	*green_label
X*green_value.translations:#override \
X				<Key>Return:  EndAsciiValAction(green_value)\n\
X				<Leave>:      EndAsciiValAction(green_value)\n\
X				<Key>space:	no-op(RingBell)\n\
X				<Key>Tab:	no-op(RingBell)
X
X*blue_label.wcClass:	labelWidgetClass
X*blue_label.borderWidth:	0
X*blue_label.label:	Blue
X*blue_label.fromHoriz:	*green_value
X*blue_value.wcClass:	asciiTextWidgetClass
X*blue_value*string:	
X*blue_value*editType:	edit
X*blue_value.width:	40
X*blue_value.fromHoriz:	*blue_label
X*blue_value.translations:#override \
X				<Key>Return: EndAsciiValAction(blue_value)\n\
X				<Leave>:     EndAsciiValAction(blue_value)\n\
X				<Key>space:	no-op(RingBell)\n\
X				<Key>Tab:	no-op(RingBell)
X
END_OF_FILE
if test 7878 -ne `wc -c <'xrainbow/Xrainbow'`; then
    echo shar: \"'xrainbow/Xrainbow'\" unpacked with wrong size!
fi
# end of 'xrainbow/Xrainbow'
fi
if test -f 'xrainbow/xrainbow.1' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xrainbow/xrainbow.1'\"
else
echo shar: Extracting \"'xrainbow/xrainbow.1'\" \(1847 characters\)
sed "s/^X//" >'xrainbow/xrainbow.1' <<'END_OF_FILE'
X.TH XRAINBOW 1 "17/5/91"
X.SH NAME
Xxrainbow - list and sort system colors
X.SH SYNOPSIS
X.B xrainbow
X[filename]
X[XToolkit options]
X.sp
X.SH DESCRIPTION
X.PP
X.I XRainbow 
Xdisplays a set of colors with their names in a
Xscrollable list.  
XA 
X.I filename
Xcontaining the list may be specified on the command line.  If not 
Xsupplied, the system color file (usually /usr/lib/X11/rgb.txt) is used.
XThe file
X.I filename
Xshould be in a format similar to the system color file:
X.I red-value green-value blue-value color-name,
Xwhere the color values range from 0 to 255.
X.sp
XThe displayed color list may be sorted by file order, color name,
Xintensity or RGB values.  if the primary key cannot order the list
Xuniquely, the specified secondary keys are used in the order listed.
XTo add sorting keys, click on the desired key in the 'Sort Keys
XAvailable' list.  To remove a sort key, click on the undesired key in
Xthe 'Key to Sort On' list.
X.sp
XOn monochrome displays, all of the colors are displayed as black, but
Xmay still be sorted.
X.sp
X.SH SORTING KEY DESCRIPTIONS
X.PP
XFile order
X List colors in the order they are in the file.
X.sp
XIntensity
X List colors according to their intensity as calculated by the sum of
Xeach color's red, green, and blue intensity times their corresponding
Xintensity scale's factor
X.sp
XName
X List colors in alphabetical order according to their name
X.sp
XRed, Green, Blue
X List colors in increasing red, green, blue intensity
X.sp
X.SH FILES
X.TP
X/usr/lib/X11/rgb.txt
XX11 color names and values.
X.sp
X.SH AUTHOR
X.PP
XDavid Nedde (daven at maxine.wpi.edu).
X.sp
X.SH COPYRIGHT
XCopyright 1991, David Nedde.
X.br
XPermission to use, copy, modify, and distribute this
Xsoftware and its documentation for any purpose and without
Xfee provided that the above copyright notice appears in all copies.
XIt is provided "as is" without express or implied warranty.
END_OF_FILE
if test 1847 -ne `wc -c <'xrainbow/xrainbow.1'`; then
    echo shar: \"'xrainbow/xrainbow.1'\" unpacked with wrong size!
fi
# end of 'xrainbow/xrainbow.1'
fi
if test -f 'xrainbow/xrainbow.doc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xrainbow/xrainbow.doc'\"
else
echo shar: Extracting \"'xrainbow/xrainbow.doc'\" \(2031 characters\)
sed "s/^X//" >'xrainbow/xrainbow.doc' <<'END_OF_FILE'
XXRAINBOW(1)              USER COMMANDS                XRAINBOW(1)
X
X
X
XNAME
X     xrainbow - list and sort system colors
X
XSYNOPSIS
X     xrainbow [filename] [XToolkit options]
X
X
XDESCRIPTION
X     XRainbow displays a set of colors  with  their  names  in  a
X     scrollable  list.  A  filename  containing  the  list may be
X     specified on the command line.  If not supplied, the  system
X     color file (usually /usr/lib/X11/rgb.txt) is used.  The file
X     filename should be in a format similar to the  system  color
X     file: red-value green-value blue-value color-name, where the
X     color values range from 0 to 255.
X
X     The displayed color list may be sorted by file order,  color
X     name,  intensity  or  RGB values.  if the primary key cannot
X     order the list uniquely, the specified  secondary  keys  are
X     used in the order listed.  To add sorting keys, click on the
X     desired key in the 'Sort Keys Available' list.  To remove  a
X     sort key, click on the undesired key in the 'Key to Sort On'
X     list.
X
X     On monochrome displays, all of the colors are  displayed  as
X     black, but may still be sorted.
X
X
XSORTING KEY DESCRIPTIONS
X     File order
X      List colors in the order they are in the file.
X
X     Intensity
X      List colors according to their intensity as  calculated  by
X     the sum of each color's red, green, and blue intensity times
X     their corresponding intensity scale's factor
X
X     Name
X      List colors in alphabetical order according to their name
X
X     Red, Green, Blue
X      List colors in increasing red, green, blue intensity
X
X
XFILES
X     /usr/lib/X11/rgb.txt
X          X11 color names and values.
X
X
XAUTHOR
X     David Nedde (daven at maxine.wpi.edu).
X
X
XCOPYRIGHT
X     Copyright 1991, David Nedde.
X     Permission  to  use,  copy,  modify,  and  distribute   this
X     software  and  its documentation for any purpose and without
X     fee provided that the above copyright notice appears in  all
X     copies.   It  is provided "as is" without express or implied
X     warranty.
END_OF_FILE
if test 2031 -ne `wc -c <'xrainbow/xrainbow.doc'`; then
    echo shar: \"'xrainbow/xrainbow.doc'\" unpacked with wrong size!
fi
# end of 'xrainbow/xrainbow.doc'
fi
if test ! -d 'xrainbow/Wc1_05' ; then
    echo shar: Creating directory \"'xrainbow/Wc1_05'\"
    mkdir 'xrainbow/Wc1_05'
fi
if test ! -d 'xrainbow/Wc1_05/Doc' ; then
    echo shar: Creating directory \"'xrainbow/Wc1_05/Doc'\"
    mkdir 'xrainbow/Wc1_05/Doc'
fi
if test -f 'xrainbow/Wc1_05/Doc/1stREADME' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xrainbow/Wc1_05/Doc/1stREADME'\"
else
echo shar: Extracting \"'xrainbow/Wc1_05/Doc/1stREADME'\" \(9208 characters\)
sed "s/^X//" >'xrainbow/Wc1_05/Doc/1stREADME' <<'END_OF_FILE'
X                        Widget Creation Library,
X                       Motif Resource Interpreter,
X                      Athena Resource Interpreter:
X
X                An Easier Way to Develop Applications
X                    using Motif and Athena Widgets.
X
XWindow-based applications are notoriously difficult to program.  When
Xthe Macintosh was introduced in early 1984, Bill Gates projected that
X50% of Microsoft revenues would come from Mac application by October
X1984.  In reality, the first Mac applications were only beginning to be
Xshipped by that date.
X
XWhen Steve Jobs left Apple and developed the NeXT computer, the window
Xenvironment was specifically designed to support a WYSIWYG interface
Xbuilder.  NextStep and the NeXT IB were the results of this effort.
X
XThe X developers at MIT and DEC also needed an easy way to develop
Xwindowed applications.  Instead of developing a WYSIWYG tool like NeXT,
Xthey developed a toolkit where interfaces were specified using C code,
Xand could be significantly modified via `resource files' using a
Xminimum number of attribute specifications. They provided an instance
Xattribute inheritance mechanism to propogate attributes throughout an
Xinterface.  This allows such simple specification as the following to
Xalter every font in an interface:
X
X        *font: 9x15
X
XThe toolkit is called the Xt Intrinsics.  The windows, buttons, menus,
Xscrollbars, etc., are called Widgets.  The Athena Widgets are one set
Xof user interface objects built upon the Xt Intrinsics.  Motif is
Xanother set of widgets.
X
XAs time went on, developers of widget-based applications found the
Xresource files to be more and more useful.  For the fourth release of
Xthe X11 window system, many of the example programs evolved to the
Xpoint that only the raw behavior of the applications were specified in
XC, with most of the look and feel being specified using resource
Xfiles.
X
XAt the fourth annual X Technical Conference, several people pointed out
Xthat resource files could be used to specify everything about a widget
Xbased user interface, except the actual "tree" of widgets, their types,
Xand bindings of behaviors to the user interface widgets.  Could the
Xresource mechanism be enhanced to allow these to be specified as well?
X
XMartin Brunecky at Auto-Trol in Denver Colorado took up the challenge,
Xand posted a simple set of routines which he called WsXc, for "Window
XSystem: Xrm Creation."
X
XXrm stands for X Resource Manager, which is a heirarchical database for
Xkeeping arbitrary named data related to X window interfaces.  The Xt
XIntrinsics use Xrm for widget resources.  The basic idea of WsXc is to
Xsearch the Xrm database, starting at the root, and pull out resources
Xwhich describe the widget heirarchy and bindings to callback
Xfunctions.
X
XOver the next several months, WsXc was repackaged as Mri (Motif
XResource Interpreter), and then Ari (Athena Resource Interpreter), and
Xfinally generalized into the Widget Creation Library.  The result
Xprovides several significant benefits to the developer and the user:
X
X        o Rapid Prototyping: Arbitrarily complex widget interfaces
X                may be specified, and many common behaviors (pop-up,
X                change attributes, exit) can be specified for the
X                interface.
X
X        o Prototyping Environment is the Development Environment is
X                the Delivery Environment: There is no specific breaking
X                point between prototyping, developing, and tuning a
X                delivered program.
X
X        o Minimum Specifications: The Xrm and Xt Intrinsics instance
X                attribute inheritance mechanism is fully utilized, so
X                a minimum number of specifications can describe a
X                complete user interface.
X
X        o Extensible:  Adding new widget types and callback routines
X                is trivial.
X
X        o Widget Set Independent: The library itself is completely 
X		widget set independent.
X
X	o Mostly Widget Set Independent Applications:  Much of the
X		C code which provides the behavior of the application 
X		can be written in a widget set independent manner.
X                This allows an application to be written which supports
X                multiple look-and-feel definitions: Motif, OpenLook,
X                and Athena interfaces can all be front-ends to the
X                same underlying application.
X
X        o The user can make any change to the interface: Deeply nested
X                menus can be substituted for dialog boxes, or vice 
X		versa.  Any label or image can be altered, which 
X		supports internationalization.
X
XOne of the guiding principles was and is KISS.  This is intended to be
Xa very small library which provides very big gains in productivity for
Xprogrammers developing applications using the various widget sets based
Xon the Xt Intrinsics.  A large number of the total lines of code
Xprovide error messages.  The rest is quite straight forward.
X
X
XThe Widget Creation Library Distribution
X----------------------------------------
X
XThe distribution contains files which make up the Widget Creation
XLibrary, Ari (the Athena Resource Interpreter), Mri (the Motif Resource
XInterpreter), and Athena and Motif demos.
X
X
XAuthors
X-------
X
XMartin Brunecky at Auto-trol Technology, Denver (marbru at auto-trol.UUCP)
Xwrote the initial code and posted it to comp.windows.x with the title
XPOOR MAN's UIL - WsXc.
X
XDavid Harrison of the UC Berkeley Electronics Research Lab
X(davidh at ic.Berkeley.EDU or ...!ucbvax!ucbcad!davidh) wrote a very
Xuseful Table widget.  Kee Hinckley (nazgul at alphalpa.com) wrote a
Xversion of Table which works with Motif.  The Table widget, in both its
Xincarnations, is so good I've included it with this distribution.  It
Xis separately available from archive sites.  See TableHEARYE and
XTableFIRST for information on this widget.
X
XMany people helped alot by providing bug fixes, enhancements,
Xsuggestions, and just plain feedback.  There are many who helped,
Xincluding Andrew Peebles at MIPS, Randy Brown, Art Poley, Mike Yee of
XOSF, Richard Hesketh, and our own Kaleb Keithley.
X
XThe rest was done by me, and here is my standard .sig:
X
X-------------------------------------------------------------------------
XDavid Smyth				david at jpl-devvax.jpl.nasa.gov
XSenior Software Engineer,		seismo!cit-vax!jpl-devvax!david
XX and Object Guru.			(818)393-0983
XJet Propulsion Lab, M/S 230-103, 4800 Oak Grove Drive, Pasadena, CA 91109
X-------------------------------------------------------------------------
X
X
XMri and Ari Widget Resource Interpreters
X----------------------------------------
X
XTwo "interpreters" are provided which allow widget based user
Xinterfaces to be developed and to have a few useful behaviors.  These
Xinterpreters are intended to be useful for prototyping.
X
XAri is the Athena Resource Interpreter, and it knows about all the
XAthena widgets.  Mri is the Motif Resource Interpreter, and is knows
Xabout all the Motif widgets.  Both interpreters also know about the
Xvery useful Table widget, which is described in the files Table*.
X
XEach interpreter consists of a main() procedure, and a function which
Xregisters all the known widget types.  Mri consists of Mri.c and
XMriRegAll.c while Ari consists of Ari.c and AriRegAll.c.  The
Xregistration files are intended to be independent.
X
XIt is a simple task to build a single interpreter which knows about
Xevery widget on earth, but if you don't have shared libs, the resulting
Xexecutable is HUGE.
X
XSeveral resource files are provided for each of the interpreters.  They
Xare named A<nn>_<description> and M<nn>_<description>.  To try out the
Xinterpreters (after you build them), do the following:
X
X    % cd Ari
X    % alias se setenv XENVIRONMENT
X    % se A08_ClkLogo
X    % Ari
X    % cd ../Mri
X    % se M7_Periodic
X    % Mri
X
XThe resource files are intended to be tutorials, so they are heavily
Xcommented and they explore various topics you may find interesting.
X
XOnce an interface is prototyped using Mri or Ari, one can take the
XMri or Ari source files and makefiles and evolve them into applications.
X
X
XSample Applications
X-------------------
X
XThe program App is exactly one such example application.  The file
XAri.c was gradually modified as additional behaviors were defined,
Xregistered with the Wc library, and bound to the appropriate widgets
Xwithin the App01.All resource file.
X
XIf you look at App.c, you will notice that main() is very minimal.  The
Xapplication is really defined by its resource file (the look and feel)
Xand the callbacks (the behavior).  Notice that the callbacks use
Xseveral routines provided by the Wc library.  They will be introduced
Xin another README file.
X
XAfter you build App, you can try it out as follows:
X
X    % cd DemosAthena
X    % se App01.All
X    % App
X
XAnother sample application included with the distribution is MD, which
Xis built as two versions: MDathena and MDmotif.  The Motif version
Xcurrently does not work very well due buggy interactions between Motif
Xand the Intrinsics.  This application demonstrates how a single
Xapplication can support multiple display connections with multiple
Xwidget heirarchies.  These may be executed like this:
X
X    % se MD
X    % MDathena
X    % cd ../DemosMotif
X    % MDmotif
X
END_OF_FILE
if test 9208 -ne `wc -c <'xrainbow/Wc1_05/Doc/1stREADME'`; then
    echo shar: \"'xrainbow/Wc1_05/Doc/1stREADME'\" unpacked with wrong size!
fi
# end of 'xrainbow/Wc1_05/Doc/1stREADME'
fi
if test -f 'xrainbow/Wc1_05/Imakefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xrainbow/Wc1_05/Imakefile'\"
else
echo shar: Extracting \"'xrainbow/Wc1_05/Imakefile'\" \(934 characters\)
sed "s/^X//" >'xrainbow/Wc1_05/Imakefile' <<'END_OF_FILE'
X#include "Wc.tmpl"
X
X#define IHaveSubdirs
X
X#if HaveAthenaWidgetSet
X  ATHENA_DIRS = Xp Ari DemosAthena
X#endif
X
X#if HaveMotifWidgetSet
X   MOTIF_DIRS = Xmp Mri DemosMotif
X#endif
X
X/*
X * It is absolutely essential that sub-directories with libraries
X * come before subdirectories which link against the libraries!
X */
X SUBDIRS = Wc $(ATHENA_DIRS) $(MOTIF_DIRS)
X
X/**/# "make all" builds the library and the applications without
X/**/# installing anything.  If you are using shared libraries, these
X/**/# applications will not work anywhere else!  
X/**/#
X#define PassTestFlags 'CDEBUGFLAGS=-I.. -L../Wc -L../Xp -L../Xmp $(CDEBUGFLAGS)'
X
XNamedTargetSubdirs(all,$(SUBDIRS),"making",PassTestFlags,all)
X
X
X/**/# "make install" first builds the library, then installs the library
X/**/# and includes, then builds all the applications.  We must do it
X/**/# like this so the applications point to the installed library
X/**/# when shared libs are used.
END_OF_FILE
if test 934 -ne `wc -c <'xrainbow/Wc1_05/Imakefile'`; then
    echo shar: \"'xrainbow/Wc1_05/Imakefile'\" unpacked with wrong size!
fi
# end of 'xrainbow/Wc1_05/Imakefile'
fi
if test -f 'xrainbow/Wc1_05/Install.rules' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xrainbow/Wc1_05/Install.rules'\"
else
echo shar: Extracting \"'xrainbow/Wc1_05/Install.rules'\" \(8291 characters\)
sed "s/^X//" >'xrainbow/Wc1_05/Install.rules' <<'END_OF_FILE'
X/**/###########################################################################
X/**/# Imake rules for building and installing libraries, programs, 
X/**/# apps-defaults, and other data files.  Unlike Imake.rules, these
X/**/# rules allow files to be installed anywhere.
X/**/#
X/**/# These rules *override* rules of the same name defined in Imake.rules!!
X/**/#
X/**/# New variables:
X/**/#	INSTBIN		default to $BINDIR - programs installed here
X/**/#	INSTMAN		default to $MANDIR - man pages installed here
X/**/#	INSTAPP		default to $XAPPLOADDIR - apps-defaults files go here
X/**/#
X/**/# David E. Smyth: Install.rules Wed Jan  2 07:12:10 PST 1991
X
X/*
X * Warning, when defining rules: make sure you don't include both a trailing
X * backslash and double ampersand backslash or else you will get an extra
X * backslash in the Makefile.
X *
X * These macros are defined for the various templates and Imakefiles:
X *
X *      UninstalledComplexProgramTarget          (program)
X *      UninstalledComplexProgramTarget_1        (program,locallib,syslib)
X *      UninstalledComplexProgramTarget_2        (program,locallib,syslib)
X *      UninstalledComplexProgramTarget_3        (program,locallib,syslib)
X *	InstallProgram                           (program,dest)
X *      ComplexProgramTarget                     (program)
X *      ComplexProgramTarget_1                   (program,locallib,syslib)
X *      ComplexProgramTarget_2                   (program,locallib,syslib)
X *      ComplexProgramTarget_3                   (program,locallib,syslib)
X *      InstallAppDefaults                       (class)
X */
X
X/*
X * UninstalledComplexProgramTarget - generate rules for compiling and linking 
X * program specified by $(OBJS) and $(SRCS), and generating dependencies.  
X * It should only be used in Imakefiles that describe a single program.
X */
X#ifdef UninstalledComplexProgramTarget
X#undef UninstalledComplexProgramTarget
X#endif
X#define	UninstalledComplexProgramTarget(program)			@@\
X        PROGRAM = program						@@\
X									@@\
XAllTarget(program)							@@\
X									@@\
Xprogram: $(OBJS) $(DEPLIBS)						@@\
X	RemoveTargetProgram($@)						@@\
X	$(CC) -o $@ $(OBJS) $(LDOPTIONS) $(LOCAL_LIBRARIES) $(LDLIBS) $(EXTRA_LOAD_FLAGS) @@\
X									@@\
XSaberProgramTarget(program,$(SRCS),$(OBJS),$(LOCAL_LIBRARIES), /**/)	@@\
X									@@\
XDependTarget()								@@\
XLintTarget()								@@\
X									@@\
Xclean::									@@\
X	$(RM) $(PROGRAM)
X/* UninstalledComplexProgramTarget */
X
X
X/*
X * UninstalledComplexProgramTarget_1 - generate rules for compiling and linking
X * program specified by $(OBJS1) and $(SRCS1), and generating dependencies for
X * it and any programs described by $(SRCS2) and $(SRCS3).  It should be used 
X * to build the primary program in Imakefiles that describe multiple programs.
X */
X#ifdef UninstalledComplexProgramTarget_1
X#undef UninstalledComplexProgramTarget_1
X#endif
X#define	UninstalledComplexProgramTarget_1(program,locallib,syslib)	@@\
X            OBJS = $(OBJS1) $(OBJS2) $(OBJS3)				@@\
X            SRCS = $(SRCS1) $(SRCS2) $(SRCS3)				@@\
X									@@\
XAllTarget($(PROGRAMS))							@@\
X									@@\
Xprogram: $(OBJS1) $(DEPLIBS1)						@@\
X	RemoveTargetProgram($@)						@@\
X	$(CC) -o $@ $(LDOPTIONS) $(OBJS1) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
X									@@\
XSaberProgramTarget(program,$(SRCS1),$(OBJS1),locallib,syslib)		@@\
X									@@\
XDependTarget()								@@\
XLintTarget()								@@\
X									@@\
Xclean::									@@\
X	$(RM) $(PROGRAMS)
X/* UninstalledComplexProgramTarget_1 */
X
X
X/*
X * UninstalledComplexProgramTarget_2 - generate rules for compiling and linking
X * program specified by $(OBJS2) and $(SRCS2).  It should be used to build the 
X * second program in Imakefiles describing more than one program.
X */
X#ifdef UninstalledComplexProgramTarget_2
X#undef UninstalledComplexProgramTarget_2
X#endif
X#define	UninstalledComplexProgramTarget_2(program,locallib,syslib)	@@\
Xprogram: $(OBJS2) $(DEPLIBS2)						@@\
X	RemoveTargetProgram($@)						@@\
X	$(CC) -o $@ $(LDOPTIONS) $(OBJS2) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
X									@@\
XSaberProgramTarget(program,$(SRCS2),$(OBJS2),locallib,syslib)
X/* UninstalledComplexProgramTarget_2 */
X
X
X/*
X * UninstalledComplexProgramTarget_3 - generate rules for compiling and linking
X * program specified by $(OBJS3) and $(SRCS3) and installing the program and
X * man page.  It should be used to build the third program in Imakefiles 
X * describing more than one program.
X */
X#ifdef UninstalledComplexProgramTarget_3
X#undef UninstalledComplexProgramTarget_3
X#endif
X#define	UninstalledComplexProgramTarget_3(program,locallib,syslib)	@@\
Xprogram: $(OBJS3) $(DEPLIBS3)						@@\
X	RemoveTargetProgram($@)						@@\
X	$(CC) -o $@ $(LDOPTIONS) $(OBJS3) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
X									@@\
XSaberProgramTarget(program,$(SRCS3),$(OBJS3),locallib,syslib)
X/* UninstalledComplexProgramTarget_3 */
X
X
X/*
X * InstallProgram - generate rules to install an executable program using any
X * special install flags set in $(INSTALLFLAGS).  If shared libraries are used,
X * then the program is re-linked.
X */
X#ifdef InstallProgram
X#undef InstallProgram
X#endif
X#if HasSunOSSharedLibraries
X#define InstallProgram(program,dest)                                    @@\
Xinstall::								@@\
X	RemoveTargetProgram(program)					@@\
X									@@\
XInstallProgramWithFlags(program,dest, /**/)
X#else
X#define InstallProgram(program,dest)                                    @@\
XInstallProgramWithFlags(program,dest, /**/)
X#endif
X/* InstallProgram */
X
X
X/*
X * ComplexProgramTarget - generate rules for compiling and linking the 
X * program specified by $(OBJS) and $(SRCS), installing the program and its
X * man page, and generating dependencies.  It should only be used in 
X * Imakefiles that describe a single program.
X */
X#ifdef ComplexProgramTarget
X#undef ComplexProgramTarget
X#endif
X#define	ComplexProgramTarget(program)					@@\
XUninstalledComplexProgramTarget(program)				@@\
XInstallProgram(program,$(INSTBIN))					@@\
XInstallManPage(program,$(INSTMAN))
X/* ComplexProgramTarget */
X
X
X/*
X * ComplexProgramTarget_1 - generate rules for compiling and linking the
X * program specified by $(OBJS1) and $(SRCS1), installing the program and its
X * man page, and generating dependencies for it and any programs described
X * by $(SRCS2) and $(SRCS3).  It should be used to build the primary 
X * program in Imakefiles that describe multiple programs.
X */
X#ifdef ComplexProgramTarget_1
X#undef ComplexProgramTarget_1
X#endif
X#define	ComplexProgramTarget_1(program,locallib,syslib)			@@\
XUninstalledComplexProgramTarget_1(program,locallib,syslib)		@@\
XInstallProgram(program,$(INSTBIN))					@@\
XInstallManPage(program,$(INSTMAN))
X/* ComplexProgramTarget_1 */
X
X
X/*
X * ComplexProgramTarget_2 - generate rules for compiling and linking the
X * program specified by $(OBJS2) and $(SRCS2) and installing the program and
X * man page.  It should be used to build the second program in Imakefiles 
X * describing more than one program.
X */
X#ifdef ComplexProgramTarget_2
X#undef ComplexProgramTarget_2
X#endif
X#define	ComplexProgramTarget_2(program,locallib,syslib)			@@\
XUninstalledComplexProgramTarget_2(program,locallib,syslib)		@@\
XInstallProgram(program,$(INSTBIN))					@@\
XInstallManPage(program,$(INSTMAN))
X/* ComplexProgramTarget_2 */
X
X
X/*
X * ComplexProgramTarget_3 - generate rules for compiling and linking the
X * program specified by $(OBJS3) and $(SRCS3) and installing the program and
X * man page.  It should be used to build the third program in Imakefiles 
X * describing more than one program.
X */
X#ifdef ComplexProgramTarget_3
X#undef ComplexProgramTarget_3
X#endif
X#define	ComplexProgramTarget_3(program,locallib,syslib)			@@\
XUninstalledComplexProgramTarget_3(program,locallib,syslib)		@@\
XInstallProgram(program,$(INSTBIN))					@@\
XInstallManPage(program,$(INSTMAN))
X/* ComplexProgramTarget_3 */
X
X
X
X/*
X * InstallAppDefaults - generate rules to install appliation default files 
X * if the InstallAppDefFiles configuration parameter is set.
X */
X#ifdef InstallAppDefaults
X#undef InstallAppDefaults
X#endif
X#if InstallAppDefFiles
X#define	InstallAppDefaults(class)					@@\
Xinstall:: class.ad							@@\
X	$(INSTALL) -c $(INSTAPPFLAGS) class.ad $(INSTAPP)/class
X#else
X#define	InstallAppDefaults(class)
X#endif /* InstallAppDefFiles */
X/* InstallAppDefaults */
X
END_OF_FILE
if test 8291 -ne `wc -c <'xrainbow/Wc1_05/Install.rules'`; then
    echo shar: \"'xrainbow/Wc1_05/Install.rules'\" unpacked with wrong size!
fi
# end of 'xrainbow/Wc1_05/Install.rules'
fi
if test -f 'xrainbow/Wc1_05/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xrainbow/Wc1_05/Makefile'\"
else
echo shar: Extracting \"'xrainbow/Wc1_05/Makefile'\" \(13001 characters\)
sed "s/^X//" >'xrainbow/Wc1_05/Makefile' <<'END_OF_FILE'
X# Makefile generated by imake - do not edit!
X# $XConsortium: imake.c,v 1.51 89/12/12 12:37:30 jim Exp $
X#
X# The cpp used on this machine replaces all newlines and multiple tabs and
X# spaces in a macro expansion with a single space.  Imake tries to compensate
X# for this, but is not always successful.
X#
X
X###########################################################################
X# Makefile generated from "Imake.tmpl" and <Imakefile>
X# $XConsortium: Imake.tmpl,v 1.77 89/12/18 17:01:37 jim Exp $
X#
X# Platform-specific parameters may be set in the appropriate .cf
X# configuration files.  Site-wide parameters may be set in the file
X# site.def.  Full rebuilds are recommended if any parameters are changed.
X#
X# If your C preprocessor doesn't define any unique symbols, you'll need
X# to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
X# "make Makefile", "make Makefiles", or "make World").
X#
X# If you absolutely can't get imake to work, you'll need to set the
X# variables at the top of each Makefile as well as the dependencies at the
X# bottom (makedepend will do this automatically).
X#
X
X###########################################################################
X# platform-specific configuration parameters - edit sun.cf to change
X
X# platform:  $XConsortium: sun.cf,v 1.38 89/12/23 16:10:10 jim Exp $
X# operating system:  SunOS 4.0
X
X###########################################################################
X# site-specific configuration parameters - edit site.def to change
X
X# site:  $XConsortium: site.def,v 1.21 89/12/06 11:46:50 jim Exp $
X
X            SHELL = /bin/sh
X
X              TOP = .
X      CURRENT_DIR = .
X
X               AR = ar cq
X  BOOTSTRAPCFLAGS =
X               CC = cc
X
X         COMPRESS = compress
X              CPP = /lib/cpp $(STD_CPP_DEFINES)
X    PREPROCESSCMD = cc -E $(STD_CPP_DEFINES)
X          INSTALL = install
X               LD = ld
X             LINT = lint
X      LINTLIBFLAG = -C
X         LINTOPTS = -axz
X               LN = ln -s
X             MAKE = make
X               MV = mv
X               CP = cp
X           RANLIB = ranlib
X  RANLIBINSTFLAGS =
X               RM = rm -f
X     STD_INCLUDES =
X  STD_CPP_DEFINES =
X      STD_DEFINES =
X EXTRA_LOAD_FLAGS =
X  EXTRA_LIBRARIES =
X             TAGS = ctags
X
X    SHAREDCODEDEF = -DSHAREDCODE
X         SHLIBDEF = -DSUNSHLIB
X
X    PROTO_DEFINES =
X
X     INSTPGMFLAGS =
X
X     INSTBINFLAGS = -m 0755
X     INSTUIDFLAGS = -m 4755
X     INSTLIBFLAGS = -m 0664
X     INSTINCFLAGS = -m 0444
X     INSTMANFLAGS = -m 0444
X     INSTDATFLAGS = -m 0444
X    INSTKMEMFLAGS = -m 4755
X
X          DESTDIR =
X
X     TOP_INCLUDES = -I$(INCROOT)
X
X      CDEBUGFLAGS = -O
X        CCOPTIONS =
X      COMPATFLAGS = -DXAW_BC
X
X      ALLINCLUDES = $(STD_INCLUDES) $(TOP_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES)
X       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(DEFINES) $(COMPATFLAGS)
X           CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
X        LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
X           LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
X        LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)
X   LDCOMBINEFLAGS = -X -r
X
X        MACROFILE = sun.cf
X           RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
X
X    IMAKE_DEFINES =
X
X         IRULESRC = $(CONFIGDIR)
X        IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
X
X     ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
X			$(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
X			$(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
X
X###########################################################################
X# X Window System Build Parameters
X# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
X
X###########################################################################
X# X Window System make variables; this need to be coordinated with rules
X# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
X
X          PATHSEP = /
X        USRLIBDIR = $(DESTDIR)/usr/lib
X           BINDIR = $(DESTDIR)/usr/bin/X11
X          INCROOT = $(DESTDIR)/usr/include
X     BUILDINCROOT = $(TOP)
X      BUILDINCDIR = $(BUILDINCROOT)/X11
X      BUILDINCTOP = ..
X           INCDIR = $(INCROOT)/X11
X           ADMDIR = $(DESTDIR)/usr/adm
X           LIBDIR = $(USRLIBDIR)/X11
X        CONFIGDIR = $(LIBDIR)/config
X       LINTLIBDIR = $(USRLIBDIR)/lint
X
X          FONTDIR = $(LIBDIR)/fonts
X         XINITDIR = $(LIBDIR)/xinit
X           XDMDIR = $(LIBDIR)/xdm
X           AWMDIR = $(LIBDIR)/awm
X           TWMDIR = $(LIBDIR)/twm
X           GWMDIR = $(LIBDIR)/gwm
X          MANPATH = $(DESTDIR)/usr/man
X    MANSOURCEPATH = $(MANPATH)/man
X           MANDIR = $(MANSOURCEPATH)n
X        LIBMANDIR = $(MANSOURCEPATH)3
X      XAPPLOADDIR = $(LIBDIR)/app-defaults
X
X        SOXLIBREV = 4.2
X          SOXTREV = 4.0
X         SOXAWREV = 4.0
X        SOOLDXREV = 4.0
X         SOXMUREV = 4.0
X        SOXEXTREV = 4.0
X
X       FONTCFLAGS = -t
X
X     INSTAPPFLAGS = $(INSTDATFLAGS)
X
X            IMAKE = imake
X           DEPEND = makedepend
X              RGB = rgb
X            FONTC = bdftosnf
X        MKFONTDIR = mkfontdir
X        MKDIRHIER = /bin/sh $(BINDIR)/mkdirhier.sh
X
X        CONFIGSRC = $(TOP)/config
X        CLIENTSRC = $(TOP)/clients
X          DEMOSRC = $(TOP)/demos
X           LIBSRC = $(TOP)/lib
X          FONTSRC = $(TOP)/fonts
X       INCLUDESRC = $(TOP)/X11
X        SERVERSRC = $(TOP)/server
X          UTILSRC = $(TOP)/util
X        SCRIPTSRC = $(UTILSRC)/scripts
X       EXAMPLESRC = $(TOP)/examples
X       CONTRIBSRC = $(TOP)/../contrib
X           DOCSRC = $(TOP)/doc
X           RGBSRC = $(TOP)/rgb
X        DEPENDSRC = $(UTILSRC)/makedepend
X         IMAKESRC = $(CONFIGSRC)
X         XAUTHSRC = $(LIBSRC)/Xau
X          XLIBSRC = $(LIBSRC)/X
X           XMUSRC = $(LIBSRC)/Xmu
X       TOOLKITSRC = $(LIBSRC)/Xt
X       AWIDGETSRC = $(LIBSRC)/Xaw
X       OLDXLIBSRC = $(LIBSRC)/oldX
X      XDMCPLIBSRC = $(LIBSRC)/Xdmcp
X      BDFTOSNFSRC = $(FONTSRC)/bdftosnf
X     MKFONTDIRSRC = $(FONTSRC)/mkfontdir
X     EXTENSIONSRC = $(TOP)/extensions
X
X  DEPEXTENSIONLIB = $(USRLIBDIR)/libXext.a
X     EXTENSIONLIB =  -lXext
X
X          DEPXLIB = $(DEPEXTENSIONLIB)
X             XLIB = $(EXTENSIONLIB) -lX11
X
X      DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
X         XAUTHLIB =  -lXau
X
X        DEPXMULIB =
X           XMULIB = -lXmu
X
X       DEPOLDXLIB =
X          OLDXLIB = -loldX
X
X      DEPXTOOLLIB =
X         XTOOLLIB = -lXt
X
X        DEPXAWLIB =
X           XAWLIB = -lXaw
X
X LINTEXTENSIONLIB = $(USRLIBDIR)/llib-lXext.ln
X         LINTXLIB = $(USRLIBDIR)/llib-lX11.ln
X          LINTXMU = $(USRLIBDIR)/llib-lXmu.ln
X        LINTXTOOL = $(USRLIBDIR)/llib-lXt.ln
X          LINTXAW = $(USRLIBDIR)/llib-lXaw.ln
X
X          DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
X
X         DEPLIBS1 = $(DEPLIBS)
X         DEPLIBS2 = $(DEPLIBS)
X         DEPLIBS3 = $(DEPLIBS)
X
X###########################################################################
X# Imake rules for building libraries, programs, scripts, and data files
X# rules:  $XConsortium: Imake.rules,v 1.67 89/12/18 17:14:15 jim Exp $
X
X###########################################################################
X# start of Imakefile
X
X###########################################################################
X# Imake rules for building and installing libraries, programs,
X# apps-defaults, and other data files.  Unlike Imake.rules, these
X# rules allow files to be installed anywhere.
X#
X# These rules *override* rules of the same name defined in Imake.rules!!
X#
X# New variables:
X#	INSTBIN		default to $BINDIR - programs installed here
X#	INSTMAN		default to $MANDIR - man pages installed here
X#	INSTAPP		default to $XAPPLOADDIR - apps-defaults files go here
X#
X# David E. Smyth: Install.rules Wed Jan  2 07:12:10 PST 1991
X
X###########################################################################
X# Makefile defines for Widget Creation Library distribution.
X# David E. Smyth: Wc.tmpl Wed Jan  2 07:44:04 PST 1991
X
X# What I use for pre-release testing
X
X      INSTLIB = .
X      INSTLIN = .
X      INSTINC = .
X      INSTBIN = .
X      INSTMAN = .
X      INSTAPP = .
X
X      MKDIRHIER =
X
X   WCTOPDIR = .
X
X      WCLIB = -L$(INSTLIB) -lWc
X      XPLIB = -L$(INSTLIB) -lXp
X     XMPLIB = -L$(INSTLIB) -lXmp
X
X    SoWcRev = 1.05
X
X  ATHENA_DIRS = Xp Ari DemosAthena
X
X SUBDIRS = Wc $(ATHENA_DIRS) $(MOTIF_DIRS)
X
X# "make all" builds the library and the applications without
X# installing anything.  If you are using shared libraries, these
X# applications will not work anywhere else!
X#
X
Xall::
X	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
X	for i in $(SUBDIRS) ;\
X	do \
X	(cd $$i ; echo "making" "in $(CURRENT_DIR)/$$i..."; \
X	$(MAKE) $(MFLAGS) 'CDEBUGFLAGS=-I.. -L../Wc -L../Xp -L../Xmp $(CDEBUGFLAGS)' all); \
X	done
X
X# "make install" first builds the library, then installs the library
X# and includes, then builds all the applications.  We must do it
X# like this so the applications point to the installed library
X# when shared libs are used.
X
X###########################################################################
X# common rules for all Makefiles - do not edit
X
Xemptyrule::
X
Xclean::
X	$(RM_CMD) \#*
X
XMakefile::
X	- at if [ -f Makefile ]; then \
X	echo "	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak"; \
X	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
X	else exit 0; fi
X	$(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
X
Xtags::
X	$(TAGS) -w *.[ch]
X	$(TAGS) -xw *.[ch] > TAGS
X
X###########################################################################
X# rules for building in SUBDIRS - do not edit
X
Xinstall::
X	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
X	for i in $(SUBDIRS) ;\
X	do \
X	(cd $$i ; echo "installing" "in $(CURRENT_DIR)/$$i..."; \
X	$(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install); \
X	done
X
Xinstall.man::
X	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
X	for i in $(SUBDIRS) ;\
X	do \
X	(cd $$i ; echo "installing man pages" "in $(CURRENT_DIR)/$$i..."; \
X	$(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install.man); \
X	done
X
Xclean::
X	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
X	for i in $(SUBDIRS) ;\
X	do \
X	(cd $$i ; echo "cleaning" "in $(CURRENT_DIR)/$$i..."; \
X	$(MAKE) $(MFLAGS) RM_CMD='$(RM_CMD)' clean); \
X	done
X
Xtags::
X	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
X	for i in $(SUBDIRS) ;\
X	do \
X	(cd $$i ; echo "tagging" "in $(CURRENT_DIR)/$$i..."; \
X	$(MAKE) $(MFLAGS) TAGS='$(TAGS)' tags); \
X	done
X
XMakefiles::
X	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
X	for i in $(SUBDIRS) ;\
X	do \
X	echo "making Makefiles in $(CURRENT_DIR)/$$i..."; \
X	case "$$i" in \
X	./?*/?*/?*/?*) newtop=../../../../ sub=subsubsubsub;; \
X	./?*/?*/?*) newtop=../../../ sub=subsubsub;; \
X	./?*/?*) newtop=../../ sub=subsub;; \
X	./?*) newtop=../ sub=sub;; \
X	*/?*/?*/?*) newtop=../../../../ sub=subsubsubsub;; \
X	*/?*/?*) newtop=../../../ sub=subsubsub;; \
X	*/?*) newtop=../../ sub=subsub;; \
X	*) newtop=../ sub=sub;; \
X	esac; \
X	case "$(TOP)" in \
X	/?*) newtop= upprefix= ;; \
X	*) upprefix=../ ;; \
X	esac; \
X	$(MAKE) $${sub}dirMakefiles UPPREFIX=$$upprefix NEWTOP=$$newtop \
X	MAKEFILE_SUBDIR=$$i NEW_CURRENT_DIR=$(CURRENT_DIR)/$$i;\
X	done
X
XsubdirMakefiles:
X	$(RM) $(MAKEFILE_SUBDIR)/Makefile.bak
X	- at if [ -f $(MAKEFILE_SUBDIR)/Makefile ]; then \
X	echo "	$(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak"; \
X	$(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak; \
X	else exit 0; fi
X	cd $(MAKEFILE_SUBDIR); $(IMAKE_CMD) -DTOPDIR=$(UPPREFIX)$(TOP) -DCURDIR=$(NEW_CURRENT_DIR); \
X	$(MAKE) $(MFLAGS) Makefiles
X
XsubsubdirMakefiles:
X	$(RM) $(MAKEFILE_SUBDIR)/Makefile.bak
X	- at if [ -f $(MAKEFILE_SUBDIR)/Makefile ]; then \
X	echo "	$(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak"; \
X	$(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak; \
X	else exit 0; fi
X	cd $(MAKEFILE_SUBDIR); $(IMAKE_CMD) -DTOPDIR=$(UPPREFIX)$(UPPREFIX)$(TOP) -DCURDIR=$(NEW_CURRENT_DIR); \
X	$(MAKE) $(MFLAGS) Makefiles
X
XsubsubsubdirMakefiles:
X	$(RM) $(MAKEFILE_SUBDIR)/Makefile.bak
X	- at if [ -f $(MAKEFILE_SUBDIR)/Makefile ]; then \
X	echo "	$(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak"; \
X	$(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak; \
X	else exit 0; fi
X	cd $(MAKEFILE_SUBDIR); $(IMAKE_CMD) -DTOPDIR=$(UPPREFIX)$(UPPREFIX)$(UPPREFIX)$(TOP) -DCURDIR=$(NEW_CURRENT_DIR); \
X	$(MAKE) $(MFLAGS) Makefiles
X
XsubsubsubsubdirMakefiles:
X	$(RM) $(MAKEFILE_SUBDIR)/Makefile.bak
X	- at if [ -f $(MAKEFILE_SUBDIR)/Makefile ]; then \
X	echo "	$(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak"; \
X	$(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak; \
X	else exit 0; fi
X	cd $(MAKEFILE_SUBDIR); $(IMAKE_CMD) -DTOPDIR=$(UPPREFIX)$(UPPREFIX)$(UPPREFIX)$(UPPREFIX)$(TOP) -DCURDIR=$(NEW_CURRENT_DIR); \
X	$(MAKE) $(MFLAGS) Makefiles
X
Xincludes::
X	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
X	for i in $(SUBDIRS) ;\
X	do \
X	(cd $$i ; echo including "in $(CURRENT_DIR)/$$i..."; \
X	$(MAKE) $(MFLAGS)   includes); \
X	done
X
X###########################################################################
X# dependencies generated by makedepend
X
END_OF_FILE
if test 13001 -ne `wc -c <'xrainbow/Wc1_05/Makefile'`; then
    echo shar: \"'xrainbow/Wc1_05/Makefile'\" unpacked with wrong size!
fi
# end of 'xrainbow/Wc1_05/Makefile'
fi
if test -f 'xrainbow/Wc1_05/README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xrainbow/Wc1_05/README'\"
else
echo shar: Extracting \"'xrainbow/Wc1_05/README'\" \(2291 characters\)
sed "s/^X//" >'xrainbow/Wc1_05/README' <<'END_OF_FILE'
XWidget Creation Library Version 1.05 Distribution
X------------------------------------------------
X
XThe distribution contains files which make up the Widget Creation
XLibrary, Ari (the Athena Resource Interpreter), Mri (the Motif
XResource Interpreter), two versions of the Table widget, and Athena 
Xand Motif demos.
X
X
XREADME Files and Documentation
X------------------------------
X
XThe Doc directory provides Postscript and pure text README files for
Xdocumentation.  I hope you will find the comments in the source files
Xuseful.  Also, several example resource files are provided with
Xextensive comments.
X
XThe postscript files are a paper and view graphs for a tutorial which I
Xwill present at the 5th X Technical Conference in January 1991.
X
XMan pages for the installed programs (Ari and Mri) are provided.
X
X
XImakefiles
X---------
X
XYou will probably need to edit the Wc.tmpl file in this directory.
XComments in the file tell you what to do.
X
X
XBuilding The Distribution using Imake
X-------------------------------------
X
XAfter editing the Wc.tmpl file as discussed above, you can build the
Xdistribution very simply.
X
X    % make Makefile
X    % make Makefiles
X    % make
X
XNote: `make depend' may not work, and is completely unecessary for
Xthis release.
X
X
XTesting The Distribution
X------------------------
X
XI have included a simple test csh script which executes all of the
Xexample programs.  After you build, the test program will execute
Xall of the executable targets it finds.  Just do the following:
X
X    % test
X
X
X
XInstalling the Distribution
X---------------------------
X
XThe Imakefiles generate an install target which causes the libraries to
Xbe installed, and the applications re-linked on machines which support
Xdynamic linking.  Dynamically linked applications must be re-linked
Xduring installation so the applications reference the installed
Xlibraries, rather than the ones in the build tree.
X
XAgain, you should test the installed programs to make sure everything
Xworks correctly:
X
X    % make install
X    % make install.man
X    % test_install
X
XIf you have installed the apps-defaults files in a non-standard
Xlocation (anywhere besides /usr/lib/X11/apps-defaults) then you
Xwill need to specify the pathname as an argument to test_install
Xlike this:
X
X    % test_install ~/tmp/apps-defaults
END_OF_FILE
if test 2291 -ne `wc -c <'xrainbow/Wc1_05/README'`; then
    echo shar: \"'xrainbow/Wc1_05/README'\" unpacked with wrong size!
fi
# end of 'xrainbow/Wc1_05/README'
fi
if test -f 'xrainbow/Wc1_05/Wc.tmpl' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xrainbow/Wc1_05/Wc.tmpl'\"
else
echo shar: Extracting \"'xrainbow/Wc1_05/Wc.tmpl'\" \(1732 characters\)
sed "s/^X//" >'xrainbow/Wc1_05/Wc.tmpl' <<'END_OF_FILE'
X#include "Install.rules"
X/**/###########################################################################
X/**/# Makefile defines for Widget Creation Library distribution.
X/**/# David E. Smyth: Wc.tmpl Wed Jan  2 07:44:04 PST 1991
X
X/*
X * Variables which may need to be tailored on a site by site basis:
X *
X *		name			value			default
X *
X *	HaveAthenaWidgetSet		YES or NO		YES
X *	HaveMotifWidgetSet		YES or NO		NO
X *
X *	UsingOldXt			(Pre-R4) YES or NO	NO
X *
X *	StandardInstallationLocation	YES or NO		YES
X *	INSTLIB				libraries here		$(LIBDIR)
X *	INSTLIN				lint libs here		$(LINTLIBDIR)
X *	INSTINC				includes here 		$(INCDIR)
X *	INSTBIN				progs installed here	$(BINDIR)
X *	INSTMAN				man pgs installed here	$(MANDIR)
X *	INSTAPP				app-defaults here	$(XAPPLOADDIR)
X */
X
X#define HaveAthenaWidgetSet YES
X#define HaveMotifWidgetSet NO
X
X#define UsingOldXt NO
X
X#define StandardInstallationLocation YES
X
X#if StandardInstallationLocation
X      INSTLIB = $(LIBDIR)
X      INSTLIN = $(LINTLIBDIR)
X      INSTINC = $(INCDIR)
X      INSTBIN = $(BINDIR)
X      INSTMAN = $(MANDIR)
X      INSTAPP = $(XAPPLOADDIR)
X#else
X/**/# What I use for pre-release testing
X#define PreCM u/tds/david/tmp
X      INSTLIB = .
X      INSTLIN = .
X      INSTINC = .
X      INSTBIN = .
X      INSTMAN = .
X      INSTAPP = .
X
X      MKDIRHIER = 
X#endif
X 
X/*
X * You probably never need to make any edits from here to end of file
X */
X
X#ifndef WcTopDir
X#define WcTopDir .
X#endif
X
X   WCTOPDIR = WcTopDir
X/*
X * making all from the top level Makefile overrides these to use local libs
X */
X      WCLIB = -L$(INSTLIB) -lWc
X      XPLIB = -L$(INSTLIB) -lXp
X     XMPLIB = -L$(INSTLIB) -lXmp
X
X#if HasSunOSSharedLibraries
X    SoWcRev = 1.05
X#else
X    DEPLIBS = $(WCTOPDIR)/Wc/libWc.a
X#endif
END_OF_FILE
if test 1732 -ne `wc -c <'xrainbow/Wc1_05/Wc.tmpl'`; then
    echo shar: \"'xrainbow/Wc1_05/Wc.tmpl'\" unpacked with wrong size!
fi
# end of 'xrainbow/Wc1_05/Wc.tmpl'
fi
if test ! -d 'xrainbow/Wc1_05/Wc' ; then
    echo shar: Creating directory \"'xrainbow/Wc1_05/Wc'\"
    mkdir 'xrainbow/Wc1_05/Wc'
fi
if test -f 'xrainbow/Wc1_05/Wc/Imakefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xrainbow/Wc1_05/Wc/Imakefile'\"
else
echo shar: Extracting \"'xrainbow/Wc1_05/Wc/Imakefile'\" \(2157 characters\)
sed "s/^X//" >'xrainbow/Wc1_05/Wc/Imakefile' <<'END_OF_FILE'
X#include "../Wc.tmpl"
X
X/**/# Imakefile for libWc
X/**/# This file is derived from mit/lib/Xt/Imakefile
X
XCDEBUGFLAGS= -g
X
X# If you are building libWc to run on top of an Xt older
X# than X11R4, then you must add Xt4GetResL.o to the list
X# of object files built into libWc.
X# Just define UsingOldXt to YES (see ../Wc.tmpl) and it will build properly.
X
X#if UsingOldXt
XOLD_XT_SRCS = Xt4GetResL.c
XOLD_XT_OBJS = Xt4GetResL.o
X#endif
X
X    APP_DEFINES = -DXAPPLOADDIR=\"$(XAPPLOADDIR)$(PATHSEP)\"
X
XHEADERS = WcCreate.h WcCreateP.h
X
XSRCS = \
X	WcActions.c \
X	WcCallb.c \
X	WcConvert.c \
X	WcCreate.c \
X	WcName.c \
X	WcReg.c \
X	WcRegXt.c \
X	$(OLD_XT_SRCS)
X
XOBJS = \
X	WcActions.o \
X	WcCallb.o \
X	WcConvert.o \
X	WcCreate.o \
X	WcName.o \
X	WcReg.o \
X	WcRegXt.o \
X	$(OLD_XT_OBJS)
X
Xall::
X#if 0
X#if HasSunOSSharedLibraries
X# if DebugLibWc
XSharedAndDebuggedLibraryObjectRule()
XSpecialSharedAndDebuggedObjectRule(WcCallb.o,$(ICONFIGFILES),$(APP_DEFINES))
X# else
XSharedLibraryObjectRule()
XSpecialSharedObjectRule(WcCallb.o,$(ICONFIGFILES),$(APP_DEFINES))
X# endif
X#else
X# if DebugLibWc && ProfileLibWc
XDebuggedAndProfiledLibraryObjectRule()
XSpecialDebuggedAndProfiledObjectRule(WcCallb.o,$(ICONFIGFILES),$(APP_DEFINES))
X# else
X#  if DebugLibWc
XDebuggedLibraryObjectRule()
XSpecialDebuggedObjectRule(WcCallb.o,$(ICONFIGFILES),$(APP_DEFINES))
X#  else
X#   if ProfileLibWc
XProfiledLibraryObjectRule()
XSpecialProfiledObjectRule(WcCallb.o,$(ICONFIGFILES),$(APP_DEFINES))
X#   else
XNormalLibraryObjectRule()
XSpecialObjectRule(WcCallb.o,$(ICONFIGFILES),$(APP_DEFINES))
X#   endif
X#  endif
X# endif
X#endif
X#endif
X
X/*
X * always generate unshared library too
X */
X#if 0 /*HasSunOSSharedLibraries*/
XNormalSharedLibraryTarget(Wc,$(SoWcRev),$(OBJS))
XInstallSharedLibrary(Wc,$(SoWcRev),$(INSTLIB))
X#endif
XNormalLibraryTarget(Wc,$(OBJS))
XInstallLibrary(Wc,$(INSTLIB))
X
XLintLibraryTarget(Wc,$(SRCS))
XInstallLintLibrary(Wc,$(INSTLIN))
X
X#if ProfileLibWc
XProfiledLibraryTarget(Wc,$(OBJS))
XInstallLibrary(Wc_p,$(INSTLIB))
X#endif
X
X#if DebugLibWc
XDebuggedLibraryTarget(Wc,$(OBJS))
X#endif
X
XMakeDirectories(install,$(INSTINC)/Wc)
XInstallMultiple($(HEADERS),$(INSTINC)/Wc)
X
XDependTarget()
X
XNormalLintTarget($(SRCS))
END_OF_FILE
if test 2157 -ne `wc -c <'xrainbow/Wc1_05/Wc/Imakefile'`; then
    echo shar: \"'xrainbow/Wc1_05/Wc/Imakefile'\" unpacked with wrong size!
fi
# end of 'xrainbow/Wc1_05/Wc/Imakefile'
fi
if test -f 'xrainbow/Wc1_05/Wc/Xt4GetResL.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xrainbow/Wc1_05/Wc/Xt4GetResL.c'\"
else
echo shar: Extracting \"'xrainbow/Wc1_05/Wc/Xt4GetResL.c'\" \(4039 characters\)
sed "s/^X//" >'xrainbow/Wc1_05/Wc/Xt4GetResL.c' <<'END_OF_FILE'
X/*
X    The following is the XtGetConstraintResourceList function from
X    the R4 Intrinsics.  This function is not provided by the Motif
X    1.0 Intrinsics.  Only change: ConstraintClassFlag was changed to
X    _XtConstraintBit.
X
X    This file normally does not get included into the Wc library.  Only
X    if the Widget Creation Library is intended to be used with Motif 1.0
X    (which is generally a bad idea - get Motif 1.1!!!!!!!), this file
X    should be compiled and either added to the library libWc, or 
X    added to the list of object files during linking, placed between
X    libWc and libXtm.
X
X    Or better yet, use Motif 1.1 so you can use the X11R4 Intrinsics!!!
X
X    Here is the standard X11 copyright notice which applies to this
X    file:
X
XCopyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
Xand the Massachusetts Institute of Technology, Cambridge, Massachusetts.
X
X                        All Rights Reserved
X
XPermission to use, copy, modify, and distribute this software and its
Xdocumentation for any purpose and without fee is hereby granted,
Xprovided that the above copyright notice appear in all copies and that
Xboth that copyright notice and this permission notice appear in
Xsupporting documentation, and that the names of Digital or MIT not be
Xused in advertising or publicity pertaining to distribution of the
Xsoftware without specific, written prior permission.
X
XDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
XALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
XDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
XANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
XWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
XARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
XSOFTWARE.
X
X*/
X
X#include <X11/IntrinsicP.h>
X/*************** Begin source from X11R4 GetResList.c ***************/
X
Xstatic Boolean ClassIsSubclassOf(class, superclass)
X    WidgetClass class, superclass;
X{
X    for (; class != NULL; class = class->core_class.superclass) {
X	if (class == superclass) return True;
X    }
X    return False;
X}
X
Xvoid XtGetConstraintResourceList(widget_class, resources, num_resources)
X	WidgetClass widget_class;
X	XtResourceList *resources;
X	Cardinal *num_resources;
X{
X	int size;
X	register int i, dest = 0;
X	register XtResourceList *list, dlist;
X	ConstraintWidgetClass class = (ConstraintWidgetClass)widget_class;
X
X	if (   (class->core_class.class_inited &&
X		!(class->core_class.class_inited & _XtConstraintBit)) /* DES */
X	    || (!class->core_class.class_inited &&
X		!ClassIsSubclassOf(widget_class, constraintWidgetClass))
X	    || class->constraint_class.num_resources == 0) {
X
X	    *resources = NULL;
X	    *num_resources = 0;
X	    return;
X	}
X
X	size = class->constraint_class.num_resources * sizeof(XtResource);
X	*resources = (XtResourceList) XtMalloc((unsigned) size);
X
X	if (!class->core_class.class_inited) {
X	    /* Easy case */
X
X	    bcopy((char *)class->constraint_class.resources,
X		    (char *) *resources, size);
X	    *num_resources = class->constraint_class.num_resources;
X	    return;
X	}
X
X	/* Nope, it's the hard case */
X
X	list = (XtResourceList *) class->constraint_class.resources;
X	dlist = *resources;
X	for (i = 0; i < class->constraint_class.num_resources; i++) {
X	    if (list[i] != NULL) {
X		dlist[dest].resource_name = (String)
X			XrmQuarkToString((XrmQuark) list[i]->resource_name);
X		dlist[dest].resource_class = (String) 
X			XrmQuarkToString((XrmQuark) list[i]->resource_class);
X		dlist[dest].resource_type = (String)
X			XrmQuarkToString((XrmQuark) list[i]->resource_type);
X		dlist[dest].resource_size = list[i]->resource_size;
X		dlist[dest].resource_offset = -(list[i]->resource_offset + 1);
X		dlist[dest].default_type = (String)
X			XrmQuarkToString((XrmQuark) list[i]->default_type);
X		dlist[dest].default_addr = list[i]->default_addr;
X		dest++;
X	    }
X	}
X	*num_resources = dest;
X}
X
X/*************** End source from X11R4 GetResList.c ***************/
END_OF_FILE
if test 4039 -ne `wc -c <'xrainbow/Wc1_05/Wc/Xt4GetResL.c'`; then
    echo shar: \"'xrainbow/Wc1_05/Wc/Xt4GetResL.c'\" unpacked with wrong size!
fi
# end of 'xrainbow/Wc1_05/Wc/Xt4GetResL.c'
fi
if test -f 'xrainbow/Wc1_05/patchlevel.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xrainbow/Wc1_05/patchlevel.h'\"
else
echo shar: Extracting \"'xrainbow/Wc1_05/patchlevel.h'\" \(21 characters\)
sed "s/^X//" >'xrainbow/Wc1_05/patchlevel.h' <<'END_OF_FILE'
X#define PATCHLEVEL 5
END_OF_FILE
if test 21 -ne `wc -c <'xrainbow/Wc1_05/patchlevel.h'`; then
    echo shar: \"'xrainbow/Wc1_05/patchlevel.h'\" unpacked with wrong size!
fi
# end of 'xrainbow/Wc1_05/patchlevel.h'
fi
if test ! -d 'xrainbow/X11' ; then
    echo shar: Creating directory \"'xrainbow/X11'\"
    mkdir 'xrainbow/X11'
fi
if test ! -d 'xrainbow/X11/Xaw_d' ; then
    echo shar: Creating directory \"'xrainbow/X11/Xaw_d'\"
    mkdir 'xrainbow/X11/Xaw_d'
fi
if test -f 'xrainbow/X11/Xaw_d/DrawingA.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xrainbow/X11/Xaw_d/DrawingA.h'\"
else
echo shar: Extracting \"'xrainbow/X11/Xaw_d/DrawingA.h'\" \(1399 characters\)
sed "s/^X//" >'xrainbow/X11/Xaw_d/DrawingA.h' <<'END_OF_FILE'
X/* DrawingA.h - Public Header file */
X
X/* Copyright 1990, David Nedde
X/*
X/* Permission to use, copy, modify, and distribute this
X/* software and its documentation for any purpose and without fee
X/* is granted provided that the above copyright notice appears in all copies.
X/* It is provided "as is" without express or implied warranty.
X*/
X
X/* Define widget's class pointer and strings used to specify resources */
X
X#ifndef _XawDrawingArea_h
X#define _XawDrawingArea_h
X
X/* Resources ADDED to label widget:
X
X Name		     Class		RepType		Default Value
X ----		     -----		-------		-------------
X exposeCallback	     Callback		Pointer		NULL
X inputCallback	     Callback		Pointer		NULL
X motionCallback	     Callback		Pointer		NULL
X resizeCallback	     Callback		Pointer		NULL
X*/
X
X
Xextern WidgetClass drawingAreaWidgetClass;
X
Xtypedef struct _DrawingAreaClassRec *DrawingAreaWidgetClass;
Xtypedef struct _DrawingAreaRec	    *DrawingAreaWidget;
X
X
X/* Resource strings */
X#define XtNexposeCallback	"exposeCallback"
X#define XtNinputCallback	"inputCallback"
X#define XtNmotionCallback	"motionCallback"
X#define XtNresizeCallback	"resizeCallback"
X
X
Xtypedef struct _XawDrawingAreaCallbackStruct {
X  int	  reason;
X  XEvent *event;
X  Window  window;
X} XawDrawingAreaCallbackStruct;
X
X/* Reasons */
X#define XawCR_EXPOSE 1
X#define XawCR_INPUT  2
X#define XawCR_MOTION 3
X#define XawCR_RESIZE 4
X
X#endif /* _XawDrawingArea_h */
END_OF_FILE
if test 1399 -ne `wc -c <'xrainbow/X11/Xaw_d/DrawingA.h'`; then
    echo shar: \"'xrainbow/X11/Xaw_d/DrawingA.h'\" unpacked with wrong size!
fi
# end of 'xrainbow/X11/Xaw_d/DrawingA.h'
fi
if test ! -d 'xrainbow/include' ; then
    echo shar: Creating directory \"'xrainbow/include'\"
    mkdir 'xrainbow/include'
fi
echo shar: End of archive 1 \(of 5\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 2 3 4 5 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 5 archives.
    echo "Please Read README"
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0

--
Dan Heller
O'Reilly && Associates       Z-Code Software    Comp-sources-x:
Senior Writer                President          comp-sources-x at uunet.uu.net
argv at ora.com                 argv at zipcode.com



More information about the Comp.sources.x mailing list