ferguson@cs.rochester.edu (George Ferguson) (11/15/90)
Here is the first external release of my X appointment calendar program "xkal". A previous posting was truncated by our system so I cancelled it. Apologies in advance to those of you who got it anyway. The code is still rough in places but has been running reliably here for some weeks. Note that the ad2c and ezMenu packages required to compile this program are posted in subsequent articles. I don't know how much time I will have to support this, but I welcome any comments or contributions. George Ferguson ARPA: ferguson@cs.rochester.edu University of Rochester UUCP: {decvax,rutgers}!rochester!ferguson Rochester NY 14627 VOX: (716) 275-2527 #! /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 4)." # Contents: README Imakefile Makefile Xkal.ad app-resources.h # date-strings.c date-strings.h schedule.h # Wrapped by ferguson@swan.cs.rochester.edu on Mon Nov 12 14:07:00 1990 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'README' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'README'\" else echo shar: Extracting \"'README'\" \(2034 characters\) sed "s/^X//" >'README' <<'END_OF_FILE' X README for XKAL - X Appointment Calendar X X George Ferguson, ferguson@cs.rochester.edu X X 12 Nov 1990 X XDISCLAIMER: X X This is a BETA release. While it has been in use for some time X at our site, there are certainly many bugs left to find. X X This software is provided as is with no warranty expressed or implied. X I hope you find it useful, but I won't be held responsible for X any damage that may occur from reading, compiling, installing or X using it. X X You are free to use any part of this code for other purposes. It X would be nice if you could keep my name on some part of whatever the X final product is. X X XINSTALLATION: X X 1. Edit the Imakefile to reflect any changes for your site. These X include setting BINDIR, LIBDIR, and MANDIR if needed, and X checking CDEBUGFLAGS if debugging or optimization is desired. X X This program uses the EzMenu widgets, which provides a resource X manager interface to the SimpleMenuWidget. You should check the X definitions in the Imakefile to reflect your installation of X the EzMenu package. In particular, you may not need the TARGET_MACH X flag is you only intend to compile for one architecture. X X Compiling this program requires the "ad2c" program. You should X set the AD2C variable as required. Actually, ad2c is only required X if you change Xkal.ad and want the new defaults compiled in as X fallback resources. If you don't have ad2c, you probably want X to remove the line that adds Xkal.ad.h to the "clean" target. X X 2. You may want to change defaults in Xkal.ad; consult the man page for X details, and see above about ad2c. X X 2. Execute X % xmkmf X to create the Makefile. X X 3. Execute X % make depend X to add the dependencies to the Makefile. This is necessary to X ensure that Xkal.ad.h is created when needed. X IMPORTANT: Ignore the error message from makedepend if Xkal.ad.h X is not found; it will be created automatically. X X 4. Make the package using X % make X or install it directly with X % make install install.man X END_OF_FILE if test 2034 -ne `wc -c <'README'`; then echo shar: \"'README'\" unpacked with wrong size! fi # end of 'README' fi if test -f 'Imakefile' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Imakefile'\" else echo shar: Extracting \"'Imakefile'\" \(1117 characters\) sed "s/^X//" >'Imakefile' <<'END_OF_FILE' X/**/# X/**/# Imakefile for xkal X/**/# X/**/# George Ferguson, ferguson@cs.rochester.edu, 15 Oct 1990. X/**/# X/**/# $Id: Imakefile,v 1.1 90/10/28 13:05:04 ferguson Exp $ X/**/# X X/**/# X/**/# Here's what to change to customize the installation... X/**/# X/**/# where do you want this stuff? X/**/# XBINDIR = /scratch/ferguson/xkal/Bin XLIBDIR = /scratch/ferguson/xkal/Lib XMANDIR = /scratch/ferguson/xkal/Man X X/**/# X/**/# where is the ezMenu package? X/**/# XEZMENU_DIR = /u/ferguson/src/x/EzMenu XINCLUDES += -I$(EZMENU_DIR) XEXTRA_LIBRARIES += -L$(EZMENU_DIR) -lezMenu$(TARGET_MACH) X X/**/# X/**/# where is the app-defaults to C converter? X/**/# XAD2C = ad2c X X/**/# X/**/# Nothing to change below here (except maybe CDEBUGFLAGS). X/**/# XDEPLIBS = XawClientDepLibs XLOCAL_LIBRARIES = XawClientLibs XCDEBUGFLAGS = -g X XSRCS = xkal.c month.c day.c schedule.c db.c util.c date-strings.c XOBJS = xkal.o month.o day.o schedule.o db.o util.o date-strings.o X XComplexProgramTarget(xkal) XInstallAppDefaults(Xkal) X X/**/# X/**/# generate C code for fallback resources X/**/# XXkal.ad.h: Xkal.ad X $(AD2C) Xkal.ad >Xkal.ad.h X Xclean:: X $(RM) Xkal.ad.h END_OF_FILE if test 1117 -ne `wc -c <'Imakefile'`; then echo shar: \"'Imakefile'\" unpacked with wrong size! fi # end of 'Imakefile' fi if test -f 'Makefile' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Makefile'\" else echo shar: Extracting \"'Makefile'\" \(15748 characters\) sed "s/^X//" >'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.3 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 = -g kmem -m 2755 X X DESTDIR = X X TOP_INCLUDES = -I$(INCROOT) X X CDEBUGFLAGS = -O X CCOPTIONS = X COMPATFLAGS = 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 = /usr/staff/lib X BINDIR = /usr/staff/bin X INCROOT = /usr/staff/include X BUILDINCROOT = $(TOP) X BUILDINCDIR = $(BUILDINCROOT)/X11 X BUILDINCTOP = .. X INCDIR = $(INCROOT)/X11 X ADMDIR = /tmp 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/staff/man X MANSOURCEPATH = $(MANPATH)/man X MANDIR = $(MANSOURCEPATH)1 X LIBMANDIR = $(MANSOURCEPATH)3 X XAPPLOADDIR = $(LIBDIR)/app-defaults XXFILESEARCHPATHDEFAULT = $(LIBDIR)/%L/%T/%N%S:$(LIBDIR)/%l/%T/%N%S:$(LIBDIR)/%T/%N%S X ERRORDB = $(LIBDIR)/XtErrorDB 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 xkal X# X# George Ferguson, ferguson@cs.rochester.edu, 15 Oct 1990. X# X# $Id: Imakefile,v 1.1 90/10/28 13:05:04 ferguson Exp $ X# X X# X# Here's what to change to customize the installation... X# X# where do you want this stuff? X# XBINDIR = /scratch/ferguson/xkal/Bin XLIBDIR = /scratch/ferguson/xkal/Lib XMANDIR = /scratch/ferguson/xkal/Man X X# X# where is the ezMenu package? X# XEZMENU_DIR = /u/ferguson/src/x/EzMenu XINCLUDES += -I$(EZMENU_DIR) XEXTRA_LIBRARIES += -L$(EZMENU_DIR) -lezMenu$(TARGET_MACH) X X# X# where is the app-defaults to C converter? X# XAD2C = ad2c X X# X# Nothing to change below here (except maybe CDEBUGFLAGS). X# XDEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB) XLOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB) XCDEBUGFLAGS = -g X XSRCS = xkal.c month.c day.c schedule.c db.c util.c date-strings.c XOBJS = xkal.o month.o day.o schedule.o db.o util.o date-strings.o X X PROGRAM = xkal X Xall:: xkal X Xxkal: $(OBJS) $(DEPLIBS) X $(RM) $@ X $(CC) -o $@ $(OBJS) $(LDOPTIONS) $(LOCAL_LIBRARIES) $(LDLIBS) $(EXTRA_LOAD_FLAGS) X Xsaber_xkal: X #load $(ALLDEFINES) $(SRCS) $(LOCAL_LIBRARIES) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES) X Xosaber_xkal: X #load $(ALLDEFINES) $(OBJS) $(LOCAL_LIBRARIES) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES) X Xinstall:: xkal X $(INSTALL) -c $(INSTPGMFLAGS) xkal $(BINDIR) X Xinstall.man:: xkal.man X $(INSTALL) -c $(INSTMANFLAGS) xkal.man $(MANDIR)/xkal.1 X Xdepend:: X $(DEPEND) -s "# DO NOT DELETE" -- $(ALLDEFINES) -- $(SRCS) X Xlint: X $(LINT) $(LINTFLAGS) $(SRCS) $(LINTLIBS) Xlint1: X $(LINT) $(LINTFLAGS) $(FILE) $(LINTLIBS) X Xclean:: X $(RM) $(PROGRAM) X Xinstall:: Xkal.ad X $(INSTALL) -c $(INSTAPPFLAGS) Xkal.ad $(XAPPLOADDIR)/Xkal X X# X# generate C code for fallback resources X# XXkal.ad.h: Xkal.ad X $(AD2C) Xkal.ad >Xkal.ad.h X Xclean:: X $(RM) Xkal.ad.h X X########################################################################### X# common rules for all Makefiles - do not edit X Xemptyrule:: X Xclean:: X $(RM_CMD) \#* X XMakefile:: X -@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 Xsaber: X #load $(ALLDEFINES) $(SRCS) X Xosaber: X #load $(ALLDEFINES) $(OBJS) X X########################################################################### X# empty rules for directories that do not have SUBDIRS - do not edit X Xinstall:: X @echo "install in $(CURRENT_DIR) done" X Xinstall.man:: X @echo "install.man in $(CURRENT_DIR) done" X XMakefiles:: X Xincludes:: X X########################################################################### X# dependencies generated by makedepend X X# DO NOT DELETE X Xxkal.o: /usr/include/stdio.h /usr/include/ctype.h Xxkal.o: /usr/staff/include/X11/Intrinsic.h /usr/staff/include/X11/Xlib.h Xxkal.o: /usr/include/sys/types.h /usr/include/sys/sysmacros.h Xxkal.o: /usr/staff/include/X11/X.h /usr/staff/include/X11/Xutil.h Xxkal.o: /usr/staff/include/X11/Xresource.h /usr/staff/include/X11/Xos.h Xxkal.o: /usr/include/strings.h /usr/include/sys/file.h Xxkal.o: /usr/include/sys/fcntlcom.h /usr/include/sys/time.h Xxkal.o: /usr/include/sys/time.h /usr/staff/include/X11/Core.h Xxkal.o: /usr/staff/include/X11/Composite.h Xxkal.o: /usr/staff/include/X11/Constraint.h /usr/staff/include/X11/Object.h Xxkal.o: /usr/staff/include/X11/RectObj.h /usr/staff/include/X11/StringDefs.h Xxkal.o: /usr/staff/include/X11/Xmu/Drawing.h Xxkal.o: /usr/staff/include/X11/Xaw/Form.h Xxkal.o: /usr/staff/include/X11/Xaw/MenuButton.h Xxkal.o: /usr/staff/include/X11/Xaw/Command.h Xxkal.o: /usr/staff/include/X11/Xaw/Label.h Xxkal.o: /usr/staff/include/X11/Xaw/Simple.h Xxkal.o: /usr/staff/include/X11/Xmu/Converters.h Xxkal.o: /usr/staff/include/X11/Xaw/Cardinals.h Xxkal.o: /u/ferguson/src/x/EzMenu/EzMenu.h /usr/staff/include/X11/Shell.h Xxkal.o: /usr/staff/include/X11/Xaw/SimpleMenu.h app-resources.h resources.h Xxkal.o: month.h day.h schedule.h db.h util.h date-strings.h Xkal.ad.h Xmonth.o: /usr/staff/include/X11/Intrinsic.h /usr/staff/include/X11/Xlib.h Xmonth.o: /usr/include/sys/types.h /usr/include/sys/sysmacros.h Xmonth.o: /usr/staff/include/X11/X.h /usr/staff/include/X11/Xutil.h Xmonth.o: /usr/staff/include/X11/Xresource.h /usr/staff/include/X11/Xos.h Xmonth.o: /usr/include/strings.h /usr/include/sys/file.h Xmonth.o: /usr/include/sys/fcntlcom.h /usr/include/sys/time.h Xmonth.o: /usr/include/sys/time.h /usr/staff/include/X11/Core.h Xmonth.o: /usr/staff/include/X11/Composite.h Xmonth.o: /usr/staff/include/X11/Constraint.h /usr/staff/include/X11/Object.h Xmonth.o: /usr/staff/include/X11/RectObj.h /usr/staff/include/X11/Shell.h Xmonth.o: /usr/staff/include/X11/StringDefs.h Xmonth.o: /usr/staff/include/X11/Xaw/Form.h Xmonth.o: /usr/staff/include/X11/Xaw/Command.h Xmonth.o: /usr/staff/include/X11/Xaw/Label.h Xmonth.o: /usr/staff/include/X11/Xaw/Simple.h Xmonth.o: /usr/staff/include/X11/Xmu/Converters.h Xmonth.o: /usr/staff/include/X11/Xaw/Toggle.h Xmonth.o: /usr/staff/include/X11/Xaw/AsciiText.h Xmonth.o: /usr/staff/include/X11/Xaw/Text.h Xmonth.o: /usr/staff/include/X11/Xaw/TextSink.h Xmonth.o: /usr/staff/include/X11/Xaw/TextSrc.h Xmonth.o: /usr/staff/include/X11/Xaw/AsciiSrc.h Xmonth.o: /usr/staff/include/X11/Xaw/AsciiSink.h Xmonth.o: /usr/staff/include/X11/Xaw/Cardinals.h app-resources.h widgets.h Xmonth.o: month.h day.h db.h date-strings.h Xday.o: /usr/staff/include/X11/Intrinsic.h /usr/staff/include/X11/Xlib.h Xday.o: /usr/include/sys/types.h /usr/include/sys/sysmacros.h Xday.o: /usr/staff/include/X11/X.h /usr/staff/include/X11/Xutil.h Xday.o: /usr/staff/include/X11/Xresource.h /usr/staff/include/X11/Xos.h Xday.o: /usr/include/strings.h /usr/include/sys/file.h Xday.o: /usr/include/sys/fcntlcom.h /usr/include/sys/time.h Xday.o: /usr/include/sys/time.h /usr/staff/include/X11/Core.h Xday.o: /usr/staff/include/X11/Composite.h /usr/staff/include/X11/Constraint.h Xday.o: /usr/staff/include/X11/Object.h /usr/staff/include/X11/RectObj.h Xday.o: /usr/staff/include/X11/Shell.h /usr/staff/include/X11/StringDefs.h Xday.o: /usr/staff/include/X11/Xaw/Form.h /usr/staff/include/X11/Xaw/Command.h Xday.o: /usr/staff/include/X11/Xaw/Label.h /usr/staff/include/X11/Xaw/Simple.h Xday.o: /usr/staff/include/X11/Xmu/Converters.h Xday.o: /usr/staff/include/X11/Xaw/AsciiText.h Xday.o: /usr/staff/include/X11/Xaw/Text.h Xday.o: /usr/staff/include/X11/Xaw/TextSink.h Xday.o: /usr/staff/include/X11/Xaw/TextSrc.h Xday.o: /usr/staff/include/X11/Xaw/AsciiSrc.h Xday.o: /usr/staff/include/X11/Xaw/AsciiSink.h Xday.o: /usr/staff/include/X11/Xaw/Cardinals.h widgets.h month.h day.h db.h Xday.o: date-strings.h Xschedule.o: /usr/staff/include/X11/Intrinsic.h /usr/staff/include/X11/Xlib.h Xschedule.o: /usr/include/sys/types.h /usr/include/sys/sysmacros.h Xschedule.o: /usr/staff/include/X11/X.h /usr/staff/include/X11/Xutil.h Xschedule.o: /usr/staff/include/X11/Xresource.h /usr/staff/include/X11/Xos.h Xschedule.o: /usr/include/strings.h /usr/include/sys/file.h Xschedule.o: /usr/include/sys/fcntlcom.h /usr/include/sys/time.h Xschedule.o: /usr/include/sys/time.h /usr/staff/include/X11/Core.h Xschedule.o: /usr/staff/include/X11/Composite.h Xschedule.o: /usr/staff/include/X11/Constraint.h Xschedule.o: /usr/staff/include/X11/Object.h /usr/staff/include/X11/RectObj.h Xschedule.o: /usr/staff/include/X11/Shell.h Xschedule.o: /usr/staff/include/X11/StringDefs.h Xschedule.o: /usr/staff/include/X11/Xaw/Form.h Xschedule.o: /usr/staff/include/X11/Xaw/Command.h Xschedule.o: /usr/staff/include/X11/Xaw/Label.h Xschedule.o: /usr/staff/include/X11/Xaw/Simple.h Xschedule.o: /usr/staff/include/X11/Xmu/Converters.h Xschedule.o: /usr/staff/include/X11/Xaw/Cardinals.h widgets.h month.h day.h Xschedule.o: db.h date-strings.h Xdb.o: /usr/include/stdio.h /usr/include/string.h /usr/include/ctype.h Xdb.o: /usr/include/errno.h /usr/include/sys/errno.h Xdb.o: /usr/staff/include/X11/Intrinsic.h /usr/staff/include/X11/Xlib.h Xdb.o: /usr/include/sys/types.h /usr/include/sys/sysmacros.h Xdb.o: /usr/staff/include/X11/X.h /usr/staff/include/X11/Xutil.h Xdb.o: /usr/staff/include/X11/Xresource.h /usr/staff/include/X11/Xos.h Xdb.o: /usr/include/strings.h /usr/include/sys/file.h Xdb.o: /usr/include/sys/fcntlcom.h /usr/include/sys/time.h Xdb.o: /usr/include/sys/time.h /usr/staff/include/X11/Core.h Xdb.o: /usr/staff/include/X11/Composite.h /usr/staff/include/X11/Constraint.h Xdb.o: /usr/staff/include/X11/Object.h /usr/staff/include/X11/RectObj.h util.h Xdb.o: date-strings.h Xutil.o: /usr/include/sys/time.h /usr/include/sys/time.h /usr/include/ctype.h END_OF_FILE if test 15748 -ne `wc -c <'Makefile'`; then echo shar: \"'Makefile'\" unpacked with wrong size! fi # end of 'Makefile' fi if test -f 'Xkal.ad' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Xkal.ad'\" else echo shar: Extracting \"'Xkal.ad'\" \(7569 characters\) sed "s/^X//" >'Xkal.ad' <<'END_OF_FILE' X! X! Xkal - graphical appointment calendar X! X! George Ferguson (ferguson@cs.rochester.edu), 27 Oct 1990. X! X! $Id: Xkal.ad,v 1.8 90/11/12 13:15:08 ferguson Exp $ X! X X! This has must be the first line in the "official" app-defaults file. XXkal.revision: $Revision: 1.8 $ XXkal.title: Xkal 1.0 (beta) X X! X! Application defaults X! XXkal.appoints: ~/.appoints XXkal.bothShown: True XXkal.numMonths: 1 XXkal.opaqueDates: False XXkal.dowLabels: False X X! X! The toplevel shell and form X! XXkal*allowShellResize: True XXkal*Form.defaultDistance: 0 XXkal*bothForm.defaultDistance: 2 X X! X! The menu buttons in the main window X! XXkal*fileButton.label: File XXkal*fileButton.menuName: fileMenu XXkal*fileMenu.menu:\ X (item "File") \ X (line) \ X (item "[S] Save" (action "xkal-save()")) \ X (item "[Q] Quit" (action "xkal-quit()")) \ X (item "[X] Exit" (action "xkal-exit()")) X XXkal*viewButton.label: View XXkal*viewButton.fromHoriz: fileButton XXkal*viewButton.menuName: viewMenu XXkal*viewMenu.menu:\ X (item "View") \ X (line) \ X (item "[N] Next" (action "xkal-next()")) \ X (item "[P] Prev" (action "xkal-prev()")) \ X (item "[T] Today" (action "xkal-today()")) \ X (item "[1] 1 Month" (action "xkal-numMonths(1)")) \ X (item "[2] 3 Months" (action "xkal-numMonths(3)")) \ X (item "[3] 12 Months" (action "xkal-numMonths(12)")) X XXkal*otherButton.label: Other XXkal*otherButton.fromHoriz: viewButton XXkal*otherButton.menuName: otherMenu XXkal*otherMenu.menu:\ X (item "Other") \ X (line) \ X (item "[E] Edit schedule" (action "xkal-edit-schedule()")) X X! X! The month forms X! XXkal*allMonthsForm.fromVert: fileButton XXkal*allMonthsForm*resizable: True XXkal*allMonthsForm*internalWidth: 1 XXkal*allMonthsForm*internalHeight: 1 XXkal*allMonthsForm*translations:#override\n\ X <Key>Q: xkal-quit() \n\ X <Key>X: xkal-exit() \n\ X <Key>N: xkal-next() \n\ X <Key>P: xkal-prev() \n\ X <Key>T: xkal-today() \n\ X <Key>S: xkal-save() \n\ X <Key>E: xkal-edit-schedule() \n\ X <Key>1: xkal-numMonths(1) \n\ X <Key>2: xkal-numMonths(3) \n\ X <Key>3: xkal-numMonths(12) \n X XXkal*monthForm1.fromHoriz: NULL XXkal*monthForm1.fromVert: NULL X XXkal*monthForm3_1.fromHoriz: NULL XXkal*monthForm3_1.fromVert: NULL XXkal*monthForm3_2.fromVert: monthForm3_1 XXkal*monthForm3_3.fromVert: monthForm3_2 X XXkal*monthForm12_1.fromHoriz: NULL XXkal*monthForm12_1.fromVert: NULL XXkal*monthForm12_2.fromHoriz: monthForm12_1 XXkal*monthForm12_3.fromHoriz: monthForm12_2 XXkal*monthForm12_4.fromHoriz: monthForm12_3 X XXkal*monthForm12_5.fromVert: monthForm12_1 XXkal*monthForm12_6.fromHoriz: monthForm12_5 XXkal*monthForm12_6.fromVert: monthForm12_2 XXkal*monthForm12_7.fromHoriz: monthForm12_6 XXkal*monthForm12_7.fromVert: monthForm12_3 XXkal*monthForm12_8.fromHoriz: monthForm12_7 XXkal*monthForm12_8.fromVert: monthForm12_4 X XXkal*monthForm12_9.fromVert: monthForm12_5 XXkal*monthForm12_10.fromHoriz: monthForm12_9 XXkal*monthForm12_10.fromVert: monthForm12_6 XXkal*monthForm12_11.fromHoriz: monthForm12_10 XXkal*monthForm12_11.fromVert: monthForm12_7 XXkal*monthForm12_12.fromHoriz: monthForm12_11 XXkal*monthForm12_12.fromVert: monthForm12_8 X X! The month labels in the monthForms X! monthLabelX.width = (dateWidthX+internalWidth)*7+borderWidth*12 X XXkal*monthLabel1.font: *fixed*bold* XXkal*monthLabel1.borderWidth: 0 XXkal*monthLabel1.justify: center XXkal*monthLabel1.width: 376 XXkal*monthLabel1.resize: False X XXkal*monthLabel3.font: 6x9 XXkal*monthLabel3.borderWidth: 0 XXkal*monthLabel3.justify: center XXkal*monthLabel3.width: 201 XXkal*monthLabel3.resize: False X XXkal*monthLabel12.font: 5x8 XXkal*monthLabel12.borderWidth: 0 XXkal*monthLabel12.justify: center XXkal*monthLabel12.width: 131 XXkal*monthLabel12.resize: False X X! The day-of-week labels (if .dowLabels is True) X! dowLabelX.width = dateWidthX+internalWidth*2 X XXkal*dowLabel1.font: *fixed*bold* XXkal*dowLabel1.borderWidth: 1 XXkal*dowLabel1.width: 52 XXkal*dowLabel1.resize: False X XXkal*dowLabel3.font: 6x9 XXkal*dowLabel3.borderWidth: 1 XXkal*dowLabel3.width: 27 XXkal*dowLabel3.resize: False X XXkal*dowLabel12.font: 5x8 XXkal*dowLabel12.borderWidth: 1 XXkal*dowLabel12.width: 17 XXkal*dowLabel12.resize: False X X! The day buttons in the monthForms X XXkal.dateFont1: *fixed*bold* XXkal.datePosition1: +10+10 XXkal.dateWidth1: 50 XXkal.dateHeight1: 50 X XXkal.dateFont3: 6x9 XXkal.datePosition3: +0+6 XXkal.dateWidth3: 25 XXkal.dateHeight3: 25 X XXkal.dateFont12: 5x8 XXkal.datePosition12: +0+6 XXkal.dateWidth12: 15 XXkal.dateHeight12: 15 X X! X! The dayForm stuff (one day's appointments) X! X XXkal*popupForm.defaultDistance: 2 X XXkal*dayForm.defaultDistance: 4 XXkal*TopLevelShell.title: Xkal Day Window X X! if it's a popup XXkal*popupForm*dayForm.fromVert: dismissButton XXkal*popupForm*dayForm.borderWidth: 0 X X! if it's not a popup XXkal*bothForm*dayForm.fromHoriz: allMonthsForm XXkal*bothForm*dayForm.fromVert: fileButton X X! X! The buttons in the dayForm X! XXkal*dismissButton.label: Dismiss X XXkal*selectButton.label: Select XXkal*selectButton.fromHoriz: dismissButton X XXkal*unselectButton.label: Unselect XXkal*unselectButton.fromHoriz: selectButton X X! X! The widgets in the dayForm X! XXkal*dayLabel.justify: center XXkal*dayLabel.width: 230 XXkal*dayLabel.borderWidth: 0 XXkal*dayLabel.label: Xkal 1.0(alpha) X XXkal*timeLabel.font: fixed XXkal*timeLabel.borderWidth: 0 XXkal*timeLabel.vertDistance: 2 X XXkal*textText*font: fixed XXkal*textText.width: 200 XXkal*textText.height: 20 XXkal*textText.vertDistance: 2 XXkal*textText.borderWidth: 0 XXkal*textText.topMargin: 0 XXkal*textText*editType: edit XXkal*textText*resize: True XXkal*textText*displayCaret: False XXkal*textText.scrollHorizontal: whenNeeded XXkal*textText*Scrollbar.thickness: 5 XXkal*textText.translations:#override\n\ X <Enter>: display-caret(True) \n\ X <Leave>: display-caret(False) \n\ X <Key>Return: no-op() \n X X! X! The schedule editor X! XXkal*schedulePopupShell.title: Xkal Schedule Window X XXkal*dismissSchedButton.label: Dismiss X XXkal*applySchedButton.label: Apply XXkal*applySchedButton.fromHoriz: dismissSchedButton X XXkal*schedulePopupShell*dayForm.fromVert: dismissSchedButton X XXkal*schedulePopupShell*dayForm*font: 5x8 XXkal*schedulePopupShell*Text*width: 100 XXkal*schedulePopupShell*Text*height: 12 XXkal*schedulePopupShell*Text*Scrollbar.height: 3 X X X! X! For calendar boxes without dates X! XXkal.noDayShade: cross_weave X X! X! For mono displays, the patterns reflecting the number of appointments X! These bitmaps are found in the directory specified by the global resource X! bitmapFilePath (/usr/staff/include/X11/bitmaps by default). X! XXkal.shade1: gray3 XXkal.shade2: gray3 XXkal.shade3: light_gray XXkal.shade4: light_gray XXkal.shade5: gray XXkal.shade6: gray XXkal.shade7: flipped_gray XXkal.shade8: flipped_gray XXkal.shade9: flipped_gray XXkal.shade10: flipped_gray XXkal.shade11: flipped_gray XXkal.shade12: flipped_gray XXkal.shade13: flipped_gray XXkal.shade14: flipped_gray XXkal.shade15: flipped_gray XXkal.shade16: flipped_gray XXkal.shade17: flipped_gray XXkal.shade18: flipped_gray XXkal.shade19: flipped_gray XXkal.shade20: flipped_gray XXkal.shade21: flipped_gray XXkal.shade22: flipped_gray X X! X! For color displays, the colors reflecting the number of appointments X! XXkal.color1: green XXkal.color2: green XXkal.color3: blue XXkal.color4: blue XXkal.color5: yellow XXkal.color6: yellow XXkal.color7: red XXkal.color8: red XXkal.color9: red XXkal.color10: red XXkal.color11: red XXkal.color12: red XXkal.color13: red XXkal.color14: red XXkal.color15: red XXkal.color16: red XXkal.color17: red XXkal.color18: red XXkal.color19: red XXkal.color20: red XXkal.color21: red XXkal.color22: red X END_OF_FILE if test 7569 -ne `wc -c <'Xkal.ad'`; then echo shar: \"'Xkal.ad'\" unpacked with wrong size! fi # end of 'Xkal.ad' fi if test -f 'app-resources.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'app-resources.h'\" else echo shar: Extracting \"'app-resources.h'\" \(742 characters\) sed "s/^X//" >'app-resources.h' <<'END_OF_FILE' X/* X * app-resources.h : External definitions for access to the application X * resources. X * X * George Ferguson, ferguson@cs.rochester.edu, 27 Oct 1990. X * X * $Id: app-resources.h,v 1.4 90/11/07 11:21:53 ferguson Exp $ X * X */ Xtypedef struct { X String appoints; X String date; X int numMonths; X Boolean bothShown; X Boolean listOnly; X Boolean silent; X Boolean opaqueDates; X Boolean dowLabels; X Font dateFont1,dateFont3,dateFont12; X String datePosition1,datePosition3,datePosition12; X int dateWidth1,dateWidth3,dateWidth12; X int dateHeight1,dateHeight3,dateHeight12; X String noDayShade; X String shade[23]; X Pixel color[23]; X String revision; X} AppResources; Xextern AppResources appResources; END_OF_FILE if test 742 -ne `wc -c <'app-resources.h'`; then echo shar: \"'app-resources.h'\" unpacked with wrong size! fi # end of 'app-resources.h' fi if test -f 'date-strings.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'date-strings.c'\" else echo shar: Extracting \"'date-strings.c'\" \(560 characters\) sed "s/^X//" >'date-strings.c' <<'END_OF_FILE' X/* X * date-strings.c : String constants used everywhere X * X * $Id: date-strings.c,v 1.1 90/11/07 11:22:22 ferguson Exp $ X */ X Xchar *shortDayStr[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; Xchar *longDayStr[] = { "Sunday", "Monday", "Tuesday", "Wednesday", X "Thursday", "Friday", "Saturday" }; Xchar *shortMonStr[] = { "Jan","Feb","Mar","Apr","May","Jun", X "Jul","Aug","Sep","Oct","Nov","Dec" }; Xchar *longMonStr[] = { "January","February","March","April","May","June", X "July","August","September","October","November", X "December" }; END_OF_FILE if test 560 -ne `wc -c <'date-strings.c'`; then echo shar: \"'date-strings.c'\" unpacked with wrong size! fi # end of 'date-strings.c' fi if test -f 'date-strings.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'date-strings.h'\" else echo shar: Extracting \"'date-strings.h'\" \(208 characters\) sed "s/^X//" >'date-strings.h' <<'END_OF_FILE' X/* X * date-strings.h: Definitions of global string constants X * X * $Id: date-strings.h,v 1.1 90/11/07 11:22:34 ferguson Exp $ X */ X Xextern char *shortDayStr[7],*longDayStr[7],*shortMonStr[12],*longMonStr[12]; END_OF_FILE if test 208 -ne `wc -c <'date-strings.h'`; then echo shar: \"'date-strings.h'\" unpacked with wrong size! fi # end of 'date-strings.h' fi if test -f 'schedule.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'schedule.h'\" else echo shar: Extracting \"'schedule.h'\" \(149 characters\) sed "s/^X//" >'schedule.h' <<'END_OF_FILE' X/* X * schedule.h : Let's be pedantic about this X * X * $Id: schedule.h,v 1.1 90/11/07 11:23:17 ferguson Exp $ X */ X Xextern void createPopupSchedule(); END_OF_FILE if test 149 -ne `wc -c <'schedule.h'`; then echo shar: \"'schedule.h'\" unpacked with wrong size! fi # end of 'schedule.h' fi echo shar: End of archive 1 \(of 4\). cp /dev/null ark1isdone MISSING="" for I in 1 2 3 4 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 4 archives. 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 -- George Ferguson ARPA: ferguson@cs.rochester.edu University of Rochester UUCP: {decvax,rutgers}!rochester!ferguson Rochester NY 14627 VOX: (716) 275-2527