[comp.sources.sun] v02i020: Contool 3.0, Part01/06

mcgrew@aramis.rutgers.edu (Charles Mcgrew) (09/26/90)

Submitted-by: chuck@trantor.harris-atd.com (Chuck Musciano)
Posting-number: Volume 2, Issue 20
Archive-name: contool3.0/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 6)."
# Contents:  MANIFEST Makefile README contool.h error.c expand.c icons
#   icons/default_bad.icon icons/default_flash.icon
#   icons/default_good.icon icons/mask.icon images images/empty.icon
#   images/range.icon images/single.icon load.c load_icon.c manifest.h
#   patchlevel.h sample.filter window_misc.c
# Wrapped by chuck@melmac on Fri Aug 17 10:00:50 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'MANIFEST' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'MANIFEST'\"
else
echo shar: Extracting \"'MANIFEST'\" \(1168 characters\)
sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
X   File Name		Archive #	Description
X-----------------------------------------------------------
X MANIFEST                   1	This shipping list
X Makefile                   1	
X README                     1	
X contool.c                  4	
X contool.h                  1	
X contool.info               3	
X contool.man                3	
X contool_ui.c               6	
X contool_ui.h               2	
X error.c                    1	
X expand.c                   1	
X filters.c                  5	
X icons                      1	
X icons/default_bad.icon     1	
X icons/default_flash.icon   1	
X icons/default_good.icon    1	
X icons/mask.icon            1	
X images                     1	
X images/empty.icon          1	
X images/range.icon          1	
X images/single.icon         1	
X lex.c                      2	
X load.c                     1	
X load_icon.c                1	
X logging.c                  2	
X manifest.h                 1	
X misc.c                     2	
X parse.y                    2	
X patchlevel.h               1	
X props.c                    3	
X regexp.c                   2	
X sample.filter              1	
X store.c                    2	
X window_misc.c              1	
END_OF_FILE
if test 1168 -ne `wc -c <'MANIFEST'`; then
    echo shar: \"'MANIFEST'\" unpacked with wrong size!
fi
# end of 'MANIFEST'
fi
if test -f 'Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Makefile'\"
else
echo shar: Extracting \"'Makefile'\" \(1800 characters\)
sed "s/^X//" >'Makefile' <<'END_OF_FILE'
X# Where to put the executable
XBIN		= /usr/local/bin
X
X# Where to put the man page
XMAN		= /usr/man/manl
XMANEXT		= l
X
X# Where to install the help file
XHELPDIR		= /usr/local/lib/help
X
X# paths to be searched for icons
XICON_PATH	= .:./icons:/usr/local/images:/usr/include/images
X
X# Where you installed Open Windows
XOPENWINHOME	= /usr/openwin
X
X# Where your XView libraries are installed
XLDFLAGS		= -L$(OPENWINHOME)/lib
X
X# Where your XView include files are installed
XCPPFLAGS	= -I$(OPENWINHOME)/include
X
XCONTOOL		= contool.o contool_ui.o error.o expand.o filters.o load.o load_icon.o logging.o misc.o parse.o props.o regexp.o store.o window_misc.o
X
XOPTIONS		= -O
X
XLDLIBS		= -lxview -lolgx -lX
X
X.c.o:
X	cc $(OPTIONS) $(CPPFLAGS) -c $<
X
X.y.o:
X	yacc $<
X	cc $(OPTIONS) -c -o $*.o y.tab.c
X	rm y.tab.c
X
Xcontool: $(CONTOOL)
X	cc $(OPTIONS) -o contool $(CONTOOL) $(LDFLAGS) $(LDLIBS)
X
Xinstall: contool $(MAN)/contool.$(MANEXT)
X	cp contool $(BIN)
X	chmod 755 $(BIN)/contool
X	cp contool.info $(HELPDIR)
X
X$(MAN)/contool.$(MANEXT): contool.man
X	cp -p contool.man $(MAN)/contool.$(MANEXT)
X
Xclean:
X	rm -f *~ $(OFILES) contool core
X
X#dependencies
X
Xcontool.o: manifest.h contool.h contool_ui.h icons/default_good.icon \
X	 icons/default_bad.icon icons/default_flash.icon icons/mask.icon
X
Xcontool_ui.o: contool_ui.h
X
Xerror.o: manifest.h contool_ui.h
X
Xexpand.o: manifest.h
X
Xfilters.o: manifest.h contool.h contool_ui.h images/single.icon \
X	 images/range.icon images/empty.icon
X
Xload.o: manifest.h contool.h contool_ui.h
X
Xload_icon.o: manifest.h contool.h
X
Xlogging.o: manifest.h contool.h contool_ui.h
X
Xmisc.o: manifest.h contool.h
X
Xparse.y: manifest.h contool.h lex.c
X
Xprops.o: manifest.h contool.h contool_ui.h
X
Xregexp.o: manifest.h contool.h
X
Xstore.o: manifest.h contool.h contool_ui.h
X
Xwindow_misc.o: manifest.h contool_ui.h
END_OF_FILE
if test 1800 -ne `wc -c <'Makefile'`; then
    echo shar: \"'Makefile'\" unpacked with wrong size!
fi
# end of 'Makefile'
fi
if test -f 'README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'README'\"
else
echo shar: Extracting \"'README'\" \(7305 characters\)
sed "s/^X//" >'README' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1988-1990 by Chuck Musciano and Harris Corporation	*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.  This 	*/
X/*	software may not be sold without the prior explicit permission	*/
X/*	of Harris Corporation.						*/
X/************************************************************************/
X
X     Contool Version 3.0
X     
X     Contool will capture and display system console messages with timestamps.
XIt is a replacement for the standard Sun console, which is created with 
X"cmdtool -C".  Contool will flash its icon and beep when messages are written
Xto the icon, so you can keep it closed on your desktop until a message arrives.
XYou can modify this beeping and flashing behavior; see the man page for more
Xdetails.
X
X     You can instruct contool to filter and ignore certain common console
Xmessages.  The man page explains how to create a file of filters in 
X~/.contool; the included sample.filter is how my filters are set up.  You
Xcan modify this to suit yourself, and copy it to ~/.contool.
X
X     This version of contool will only work with Open Windows 2.0, from Sun,
Xor the XView 2.0 libraries available via anonymous FTP from expo.lcs.mit.edu.
XIn either case, obviously, you'll need to be running some version of X Windows.
X
X     There are no plans to produce a SunView version of contool 3.0.
X     
X     Before building contool, you need to check several site dependencies
Xin the Makefile.  These dependencies are:
X
X	In Makefile:
X		BIN		Where the executable will go, normally
X				/usr/local/bin
X
X		MANDIR		Where the man page will go, normally
X				/usr/man/manl
X
X		MANEXT		The man page extension, usually 'l',
X				for local man pages.  You may want to
X				make MANDIR /usr/man/man1, in which case
X				MANEXT should be '1'.
X
X		HELPDIR		Where the context-sensitive help file
X				will be stored.
X
X		ICON_PATH	Path to search (at runtime) for other
X				icon files.  This path will only be used
X				if the user does not have the ICON_PATH
X				environment variable defined.  Should
X				consist of a various directories
X				separated by colons.
X
X		OPENWINHOME	Where you installed Open Windows.
X				Alternately, where you installed the
X				XView toolkit shipped with X11R4.  Must
X				be a directory with a child directory
X				named "include" which contains X and
X				XView include files.
X
X		LDFLAGS		Where ld can find your XView libraries.
X				If you compile with Open Windows, the
X				default value should be correct.  If you
X				are using the X11 XView libraries, you
X				may need to modify this value.
X
X		CPPFLAGS	Where cpp can find your XView include
X				files.  If you compile with Open Windows,
X				the default value should be correct.  If
X				you are using the X11 XView toolkit, you
X				may need to modify this value.
X
XOnce you have adjusted these values, just type "make contool" or "make
Xinstall".  
X
X     Contool honors window command line options, described in xview(1),
Xso you can change the default window size, icon position, etc.  We like
Xto bring contool up closed, using "-Wi".
X
X     Comments, bugs, to me, please.  I would be very interested in your 
Ximpressions of contool and any suggestions you might have to make it better.
XBy the way, there are a few convenient untility routines in misc.c you might
Xfind useful in other programs you are writing.
X
XChuck Musciano
XAdvanced Technology Department
XHarris Corporation
XPO Box 37, MS 3A/1912
XMelbourne, FL 32902
X(407) 727-6131
XARPA: chuck@trantor.harris-atd.com
X
X******************************** KNOWN XVIEW BUG ********************************
X*										*
X*      It is a known bug in XView that if you bring up a dialog box with the	*
X* pushpin out (the default) and display a menu without selecting an item from	*
X* the menu, the dialog box will be closed.  This can be demonstrated in contool	*
X* by bringing up the edit filters window, and displaying the "edit" menu 	*
X* without selecting an action.							*
X*										*
X*      This bug has been reported to Sun, but will not be fixed until version	*
X* 3.0 of XView.									*
X*										*
X*********************************************************************************
X
X*********************************************************************************
X*				Change history					*
X*********************************************************************************
X
X     	1.0	20 Jun 88	Original release
X     	1.1	30 Jun 88	Added -p option to pop open when messages
X     				   arrive.  Suggested by Doug Lind
X     				   (lind@perron.ms.washington.edu).
X     				Added alternate icon sets for more attractive
X     				   appearance when messages arrive.  Alternate
X     				   set two is from David Eckelcamp 
X     				   (eckelcamp@mcc.com).
X     				Cleaned up Makefile.  Again, courtesy of
X     				   David Eckelcamp.
X	2.0	23 Aug 88	Added automatic reload of filters when
X				   filter file is modified.  Suggested by
X				   Craig Musicant (cmusican@stanford.prime.com).
X				Filter strings are now regular expressions.
X				   Provided by jqj@hogg.cc.uoregon.edu.
X				Reworked frame menu, based upon diffs posted
X				   to sun-source@titan.rice.edu.
X				Added protection from overflowing the text edit
X				   window when too many messages arrive.
X				Filters can now be read from any file, not
X				   just ~/.contool.
X	2.1	10 Feb 89	Added logging capability, courtesy of
X				   Gregory Bond (gnb@melba.bby.oz.au).
X	2.2	19 Sep 89	Added filter editing.
X				Added icon pathname completion, courtesy of
X				   Mike Arms (sandia!marms@unmvax.cs.unm.edu).
X				Added moving the blinking icon to the front,
X				   courtesy of Peter Lennevi
X				   (etxlevi@solsta.ericsson.se).
X				Changed icon loading to use ICON_PATH, and
X				   supported ~ expansion, suggested by
X				   Larry Virden (osu-cis!chemabs!lwv27).
X				Fixed multiple message alert handling,
X				   as suggested by Ellery Chan
X				   (ellery@trantor.harris-atd.com).
X	3.0	 6 Jun 90	Ported to XView toolkit, running under
X				   Open Windows 2.0.
X				Reworked interface to be OPEN LOOK
X				   compliant.
X				Added saving of default actions to
X				   filter file.
X				Removed large number of command line
X				   options in lieu of properties
X				   dialog box.
X				Added ability to associate a command
X				   to be executed when a message arrives.
X				Added explicit filter reset capability.
X				Added the ability to print the contents
X				   of the console.  Suggested by 
X				   Danielle Heinzer
X				   (ESC1298%ESOC.BITNET@cunyvm.cuny.edu).
X				Reworked console overflow handling,
X				   courtesy of Matt Cohen
X				   (sysnmc@magic706.chron.com).
END_OF_FILE
if test 7305 -ne `wc -c <'README'`; then
    echo shar: \"'README'\" unpacked with wrong size!
fi
# end of 'README'
fi
if test -f 'contool.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'contool.h'\"
else
echo shar: Extracting \"'contool.h'\" \(2263 characters\)
sed "s/^X//" >'contool.h' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1988-1990 by Chuck Musciano and Harris Corporation	*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.  This 	*/
X/*	software may not be sold without the prior explicit permission	*/
X/*	of Harris Corporation.						*/
X/************************************************************************/
X
X/************************************************************************/
X/*									*/
X/*	contool.h	internal contool data structures		*/
X/*									*/
X/************************************************************************/
X
X#define		is_null(x)		((x)? x : "")
X
X#define		BEEP_BIT		0x01
X#define		COMMAND_BIT		0x02
X#define		FLASH_BIT		0x04
X#define		OPEN_BIT		0x08
X#define		STAMP_BIT		0x10
X
Xtypedef	struct	filter	Filter;
Xtypedef	struct	props	Props;
X
Xstruct	filter	{char	*start;
X		 char	*start_re;
X		 int	start_circf;
X		 char	*stop;
X		 char	*stop_re;
X		 int	stop_circf;
X		 char	*comment;
X		 int	save;
X		 int	beep;
X		 int	flash;
X		 int	open;
X		 int	stamp;
X		 char	*command;
X		 Filter	*next;
X		};
X
Xstruct	props	{int	beep;
X		 int	flash;
X		 int	open;
X		 int	stamp;
X		 char	*command;
X		 char	*good_icon;
X		 char	*bad_icon;
X		 char	*flash_icon;
X		 char	*print_filter;
X		 char	*log_file;
X		 int	log_after;
X		 int	stamp_resolution;
X		 int	max_size;
X		 int	delete_amount;
X		};
X
XPUBLIC	char	*compile_exp();
XPUBLIC	char	*expand_tilde();
X
XPUBLIC	Props	defaults;
XPUBLIC	Props	*parsed_defaults;
XPUBLIC	Filter	*parsed_filters;
XPUBLIC	Filter	*filters;
XPUBLIC	int	parse_errors_occured;
XPUBLIC	char	*filter_file;
END_OF_FILE
if test 2263 -ne `wc -c <'contool.h'`; then
    echo shar: \"'contool.h'\" unpacked with wrong size!
fi
# end of 'contool.h'
fi
if test -f 'error.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'error.c'\"
else
echo shar: Extracting \"'error.c'\" \(2101 characters\)
sed "s/^X//" >'error.c' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1988-1990 by Chuck Musciano and Harris Corporation	*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.  This 	*/
X/*	software may not be sold without the prior explicit permission	*/
X/*	of Harris Corporation.						*/
X/************************************************************************/
X
X/************************************************************************/
X/*									*/
X/*	error.c		handle error messages				*/
X/*									*/
X/************************************************************************/
X
X#include	<stdio.h>
X#include	<xview/xview.h>
X#include	<xview/notice.h>
X
X#include	"manifest.h"
X#include	"contool_ui.h"
X
XPUBLIC	contool_base_objects	*contool_base;
X
X/************************************************************************/
XPRIVATE	void	show_error(msg)
X
Xchar	*msg;
X
X{
X	notice_prompt(contool_base->base, NULL,
X		         NOTICE_MESSAGE_STRINGS, msg, 0,
X		         NOTICE_BUTTON_YES, "OK",
X		      0);
X}
X
X/************************************************************************/
XEXPORT	void	error(a, b, c, d, e, f)
X
Xchar	*a, *b, *c, *d, *e, *f;
X
X{	char	buf[1024];
X
X	sprintf(buf, a, b, c, d, e, f);
X	show_error(buf);
X}
X
X/************************************************************************/
XEXPORT	void	abend(a, b, c, d, e, f)
X
Xchar	*a, *b, *c, *d, *e, *f;
X
X{
X	error(a, b, c, d, e, f);
X	exit(1);
X}
END_OF_FILE
if test 2101 -ne `wc -c <'error.c'`; then
    echo shar: \"'error.c'\" unpacked with wrong size!
fi
# end of 'error.c'
fi
if test -f 'expand.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'expand.c'\"
else
echo shar: Extracting \"'expand.c'\" \(3088 characters\)
sed "s/^X//" >'expand.c' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1988-1990 by Chuck Musciano and Harris Corporation	*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.  This 	*/
X/*	software may not be sold without the prior explicit permission	*/
X/*	of Harris Corporation.						*/
X/************************************************************************/
X
X#include	<sys/types.h>
X#include	<sys/dir.h>
X#include	<pwd.h>
X
X#include	"manifest.h"
X
XPUBLIC	char	*rindex(), *index();
X
X/************************************************************************/
XPRIVATE	char	*root_path(path)
X
Xchar	*path;
X
X{	char	*p;
X
X	if (p = rindex(path, '/'))
X	   if (p == path)
X	      p[1] = '\0';
X	   else
X	      *p = '\0';
X	else
X	   *path = '\0';
X	return(path);
X}
X
X/************************************************************************/
XPRIVATE	char	*last_node(path)
X
Xchar	*path;
X
X{	char	*p;
X
X	return((p = rindex(path, '/'))? p + 1 : path);
X}
X
X/************************************************************************/
XEXPORT	char	*expand_filename(path)
X
Xchar	*path;
X
X{	static	char	s[1024];
X	char	pattern[1024], candidate[1024], *p,*q;
X	DIR	*dir;
X	struct	direct *dp;
X	struct	passwd	*pw;
X
X	strcpy(s, path);
X	if (*path == '~')
X	   if (path[1] == '/' || path[1] == '\0') {
X	      strcpy(s, getenv("HOME"));
X	      strcat(s, path + 1);
X	      }
X	   else {
X	      if ((p = index(path, '/')) != NULL)
X	         *p = '\0';
X	      if ((pw = getpwnam(path + 1)) != NULL) {
X	         strcpy(s, pw->pw_dir);
X	         if (p != NULL) {
X	            strcat(s, "/");
X	            strcat(s, p + 1);
X	            }
X	         }
X	      else
X	         return(NULL);
X	      }
X	strcpy(pattern, last_node(s));
X	if (*pattern == '\0')
X	   return(s);
X	root_path(s);
X	candidate[0] = '\0';
X	if (*s == '\0')
X	   strcpy(s, ".");
X	if ((dir = opendir(s)) == NULL) {
X	   strcpy(s, path);
X	   return(s);
X	   }
X	while ((dp = readdir(dir)) != NULL)
X	   if (strncmp(dp->d_name, pattern, strlen(pattern)) == 0)
X	      if (*candidate == '\0')
X	         strcpy(candidate, dp->d_name);
X	      else {
X	         for (p = candidate, q = dp->d_name; *p == *q; p++, q++)
X	            ;
X	         *p = '\0';
X	         }
X	closedir(dir);
X	if (*candidate == '\0')
X	   return(NULL);
X	else {
X	   if (strcmp(s, ".") == 0)
X	      *s = '\0';
X	   else if (s[strlen(s) - 1] != '/')
X	      strcat(s, "/");
X	   strcat(s, candidate);
X	   }
X	return(s);
X}
END_OF_FILE
if test 3088 -ne `wc -c <'expand.c'`; then
    echo shar: \"'expand.c'\" unpacked with wrong size!
fi
# end of 'expand.c'
fi
if test ! -d 'icons' ; then
    echo shar: Creating directory \"'icons'\"
    mkdir 'icons'
fi
if test -f 'icons/default_bad.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'icons/default_bad.icon'\"
else
echo shar: Extracting \"'icons/default_bad.icon'\" \(1997 characters\)
sed "s/^X//" >'icons/default_bad.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
X */
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0xFFFF,0xFFFE,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0x8000,0x0003,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0x8000,0x0003,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFE,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x000F,0xFFFF,0xFFFF,0xE000,
X	0x0018,0x0000,0x0000,0x3000,
X	0x0031,0x5555,0x5555,0x1800,
X	0x0062,0xAAAA,0xAAAA,0x8C00,
X	0x00C5,0x5555,0x5555,0x4600,
X	0x00C0,0x0000,0x0000,0x0600,
X	0x00FF,0xFFFF,0xFFFF,0xFE00,
X	0x00FF,0xFFFF,0xFFFF,0xFE00,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0004,0x0000,
X	0x0000,0x0000,0x0004,0x0000,
X	0x0000,0x0000,0x0004,0x0000,
X	0x000E,0x30B0,0xE184,0x7000,
X	0x0010,0x48C9,0x0244,0x8800,
X	0x0020,0x8489,0x0424,0x8800,
X	0x0020,0x8488,0xC424,0xF800,
X	0x0020,0x8488,0x2424,0x8000,
X	0x0010,0x4888,0x2244,0x8800,
X	0x000E,0x3089,0xC184,0x7000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000
END_OF_FILE
if test 1997 -ne `wc -c <'icons/default_bad.icon'`; then
    echo shar: \"'icons/default_bad.icon'\" unpacked with wrong size!
fi
# end of 'icons/default_bad.icon'
fi
if test -f 'icons/default_flash.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'icons/default_flash.icon'\"
else
echo shar: Extracting \"'icons/default_flash.icon'\" \(1997 characters\)
sed "s/^X//" >'icons/default_flash.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
X */
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0xFFFF,0xFFFE,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0x8000,0x0003,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0xA000,0x000B,0x0000,
X	0x0001,0xA000,0x000B,0x0000,
X	0x0001,0xA000,0x000B,0x0000,
X	0x0001,0xA000,0x000B,0x0000,
X	0x0001,0xA000,0x000B,0x0000,
X	0x0001,0xA000,0x000B,0x0000,
X	0x0001,0xA000,0x000B,0x0000,
X	0x0001,0xA000,0x000B,0x0000,
X	0x0001,0xA000,0x000B,0x0000,
X	0x0001,0xA000,0x000B,0x0000,
X	0x0001,0xA000,0x000B,0x0000,
X	0x0001,0xA000,0x000B,0x0000,
X	0x0001,0xA000,0x000B,0x0000,
X	0x0001,0xA000,0x000B,0x0000,
X	0x0001,0xA000,0x000B,0x0000,
X	0x0001,0xA000,0x000B,0x0000,
X	0x0001,0xA000,0x000B,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0x8000,0x0003,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFE,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x000F,0xFFFF,0xFFFF,0xE000,
X	0x0018,0x0000,0x0000,0x3000,
X	0x0031,0x5555,0x5555,0x1800,
X	0x0062,0xAAAA,0xAAAA,0x8C00,
X	0x00C5,0x5555,0x5555,0x4600,
X	0x00C0,0x0000,0x0000,0x0600,
X	0x00FF,0xFFFF,0xFFFF,0xFE00,
X	0x00FF,0xFFFF,0xFFFF,0xFE00,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0004,0x0000,
X	0x0000,0x0000,0x0004,0x0000,
X	0x0000,0x0000,0x0004,0x0000,
X	0x000E,0x30B0,0xE184,0x7000,
X	0x0010,0x48C9,0x0244,0x8800,
X	0x0020,0x8489,0x0424,0x8800,
X	0x0020,0x8488,0xC424,0xF800,
X	0x0020,0x8488,0x2424,0x8000,
X	0x0010,0x4888,0x2244,0x8800,
X	0x000E,0x3089,0xC184,0x7000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000
END_OF_FILE
if test 1997 -ne `wc -c <'icons/default_flash.icon'`; then
    echo shar: \"'icons/default_flash.icon'\" unpacked with wrong size!
fi
# end of 'icons/default_flash.icon'
fi
if test -f 'icons/default_good.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'icons/default_good.icon'\"
else
echo shar: Extracting \"'icons/default_good.icon'\" \(1997 characters\)
sed "s/^X//" >'icons/default_good.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
X */
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0xFFFF,0xFFFE,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0x8000,0x0003,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0xB555,0x555B,0x0000,
X	0x0001,0xAAAA,0xAAAB,0x0000,
X	0x0001,0xB555,0x555B,0x0000,
X	0x0001,0xAAAA,0xA02B,0x0000,
X	0x0001,0xB555,0x505B,0x0000,
X	0x0001,0xAAAA,0xA02B,0x0000,
X	0x0001,0xB555,0x505B,0x0000,
X	0x0001,0xAAAA,0xA02B,0x0000,
X	0x0001,0xB555,0x555B,0x0000,
X	0x0001,0xAAAA,0xAAAB,0x0000,
X	0x0001,0xB555,0x555B,0x0000,
X	0x0001,0xAAAA,0xAAAB,0x0000,
X	0x0001,0xB555,0x555B,0x0000,
X	0x0001,0xAAAA,0xAAAB,0x0000,
X	0x0001,0xB555,0x555B,0x0000,
X	0x0001,0xAAAA,0xAAAB,0x0000,
X	0x0001,0xB555,0x555B,0x0000,
X	0x0001,0xBFFF,0xFFFB,0x0000,
X	0x0001,0x8000,0x0003,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFE,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x000F,0xFFFF,0xFFFF,0xE000,
X	0x0018,0x0000,0x0000,0x3000,
X	0x0031,0x5555,0x5555,0x1800,
X	0x0062,0xAAAA,0xAAAA,0x8C00,
X	0x00C5,0x5555,0x5555,0x4600,
X	0x00C0,0x0000,0x0000,0x0600,
X	0x00FF,0xFFFF,0xFFFF,0xFE00,
X	0x00FF,0xFFFF,0xFFFF,0xFE00,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0004,0x0000,
X	0x0000,0x0000,0x0004,0x0000,
X	0x0000,0x0000,0x0004,0x0000,
X	0x000E,0x30B0,0xE184,0x7000,
X	0x0010,0x48C9,0x0244,0x8800,
X	0x0020,0x8489,0x0424,0x8800,
X	0x0020,0x8488,0xC424,0xF800,
X	0x0020,0x8488,0x2424,0x8000,
X	0x0010,0x4888,0x2244,0x8800,
X	0x000E,0x3089,0xC184,0x7000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000
END_OF_FILE
if test 1997 -ne `wc -c <'icons/default_good.icon'`; then
    echo shar: \"'icons/default_good.icon'\" unpacked with wrong size!
fi
# end of 'icons/default_good.icon'
fi
if test -f 'icons/mask.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'icons/mask.icon'\"
else
echo shar: Extracting \"'icons/mask.icon'\" \(1997 characters\)
sed "s/^X//" >'icons/mask.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
X */
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0xFFFF,0xFFFE,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0001,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFE,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x000F,0xFFFF,0xFFFF,0xE000,
X	0x001F,0xFFFF,0xFFFF,0xF000,
X	0x003F,0xFFFF,0xFFFF,0xF800,
X	0x007F,0xFFFF,0xFFFF,0xFC00,
X	0x00FF,0xFFFF,0xFFFF,0xFE00,
X	0x00FF,0xFFFF,0xFFFF,0xFE00,
X	0x00FF,0xFFFF,0xFFFF,0xFE00,
X	0x00FF,0xFFFF,0xFFFF,0xFE00,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0004,0x0000,
X	0x0000,0x0000,0x0004,0x0000,
X	0x0000,0x0000,0x0004,0x0000,
X	0x000E,0x30B0,0xE184,0x7000,
X	0x0010,0x48C9,0x0244,0x8800,
X	0x0020,0x8489,0x0424,0x8800,
X	0x0020,0x8488,0xC424,0xF800,
X	0x0020,0x8488,0x2424,0x8000,
X	0x0010,0x4888,0x2244,0x8800,
X	0x000E,0x3089,0xC184,0x7000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000
END_OF_FILE
if test 1997 -ne `wc -c <'icons/mask.icon'`; then
    echo shar: \"'icons/mask.icon'\" unpacked with wrong size!
fi
# end of 'icons/mask.icon'
fi
if test ! -d 'images' ; then
    echo shar: Creating directory \"'images'\"
    mkdir 'images'
fi
if test -f 'images/empty.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'images/empty.icon'\"
else
echo shar: Extracting \"'images/empty.icon'\" \(193 characters\)
sed "s/^X//" >'images/empty.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000
END_OF_FILE
if test 193 -ne `wc -c <'images/empty.icon'`; then
    echo shar: \"'images/empty.icon'\" unpacked with wrong size!
fi
# end of 'images/empty.icon'
fi
if test -f 'images/range.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'images/range.icon'\"
else
echo shar: Extracting \"'images/range.icon'\" \(193 characters\)
sed "s/^X//" >'images/range.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0x9440,0xBF68,0x0000,0x8000,0xF6DE,0x0000,0x8A22,0xDFBB,
X	0x0000,0xA100,0xBBB6,0x0000,0x8824,0xEDB7,0x0000,0x0000
END_OF_FILE
if test 193 -ne `wc -c <'images/range.icon'`; then
    echo shar: \"'images/range.icon'\" unpacked with wrong size!
fi
# end of 'images/range.icon'
fi
if test -f 'images/single.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'images/single.icon'\"
else
echo shar: Extracting \"'images/single.icon'\" \(193 characters\)
sed "s/^X//" >'images/single.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x8A22,0xDFBB,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000
END_OF_FILE
if test 193 -ne `wc -c <'images/single.icon'`; then
    echo shar: \"'images/single.icon'\" unpacked with wrong size!
fi
# end of 'images/single.icon'
fi
if test -f 'load.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'load.c'\"
else
echo shar: Extracting \"'load.c'\" \(3321 characters\)
sed "s/^X//" >'load.c' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1988-1990 by Chuck Musciano and Harris Corporation	*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.  This 	*/
X/*	software may not be sold without the prior explicit permission	*/
X/*	of Harris Corporation.						*/
X/************************************************************************/
X
X/************************************************************************/
X/*									*/
X/*	load.c		contool load dialog manager			*/
X/*									*/
X/************************************************************************/
X
X#include	<stdio.h>
X#include	<sys/param.h>
X#include	<sys/types.h>
X#include	<xview/xview.h>
X#include	<xview/panel.h>
X#include	<xview/xv_xrect.h>
X
X#include	"manifest.h"
X#include	"contool.h"
X#include	"contool_ui.h"
X
XPRIVATE	contool_load_objects	*contool_load = NULL;
X
X/************************************************************************/
XEXPORT	Menu_item	popup_load_config(item, op)
X
XMenu_item	item;
XMenu_generate	op;
X
X{	contool_base_objects * ip = (contool_base_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
X
X	if (op == MENU_NOTIFY) {
X	   if (contool_load == NULL) {
X	      contool_load = contool_load_objects_initialize(NULL, ip->base);
X	      xv_set(contool_load->load_file,
X	      	        PANEL_NOTIFY_LEVEL, PANEL_SPECIFIED,
X	      	        PANEL_NOTIFY_STRING, "\n\r ",
X	      	     NULL);
X	      xv_set(contool_load->load_type, PANEL_VALUE, 3, NULL);
X	      place_dialog(ip->base, contool_load->load);
X	      }
X	   xv_set(contool_load->load_file, PANEL_VALUE, filter_file, NULL);
X	   xv_set(contool_load->load, XV_SHOW, TRUE, NULL);
X	   }
X	return item;
X}
X
X/************************************************************************/
XEXPORT	void	load_filters(item, event)
X
XPanel_item	item;
XEvent		*event;
X
X{	contool_load_objects	*ip = (contool_load_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
X	int	kind;
X	char	*path;
X
X	path = expand_tilde(xv_get(ip->load_file, PANEL_VALUE));
X	if (lex_init(path)) {
X	   yyparse();
X	   if (parse_errors_occured) {
X	      error("Error in configuration file.  Configuration not loaded");
X	      xv_set(ip->accept_load, PANEL_NOTIFY_STATUS, XV_ERROR, NULL);
X	      }
X	   else {
X	      kind = (int) xv_get(ip->load_type, PANEL_VALUE);
X	      if (kind & 1 && parsed_defaults)
X	         defaults = *parsed_defaults;
X	      if (kind & 2)
X	         filters = parsed_filters;
X	      free(parsed_defaults);
X	      filter_file = path;
X	      }
X	   }
X	else {
X	   error("Unable to read configuration file");
X	   xv_set(ip->accept_load, PANEL_NOTIFY_STATUS, XV_ERROR, NULL);
X	   free(path);
X	   }
X}
END_OF_FILE
if test 3321 -ne `wc -c <'load.c'`; then
    echo shar: \"'load.c'\" unpacked with wrong size!
fi
# end of 'load.c'
fi
if test -f 'load_icon.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'load_icon.c'\"
else
echo shar: Extracting \"'load_icon.c'\" \(2086 characters\)
sed "s/^X//" >'load_icon.c' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1988-1990 by Chuck Musciano and Harris Corporation	*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.  This 	*/
X/*	software may not be sold without the prior explicit permission	*/
X/*	of Harris Corporation.						*/
X/************************************************************************/
X
X#include	<stdio.h>
X#include	<sys/file.h>
X
X#include	<xview/xview.h>
X#include	<xview/icon_load.h>
X
X#include	"manifest.h"
X#include	"contool.h"
X
XPUBLIC	char	*getenv();
X
X/************************************************************************/
XEXPORT	Server_image	load_icon(path, message)
X
Xchar	*path;
Xchar	*message;
X
X{	char	*icon_path, new_path[1024], *p, *q;
X
X	if (*path == '/')
X	   return(icon_load_svrim(path, message));
X	else {
X	   if ((p = getenv("ICON_PATH")) != NULL)
X	      icon_path = strsave(p);
X	   else
X	      icon_path = strsave(ICON_PATH);
X	   for (p = icon_path; *p; ) {
X	      if (q = index(p, ':'))
X	         *q = '\0';
X	      strcpy(new_path, p);
X	      strcat(new_path, "/");
X	      strcat(new_path, path);
X	      if (access(new_path, R_OK) == 0) {
X	         free(icon_path);
X	         return(icon_load_svrim(new_path, message));
X	         }
X	      else if (q != NULL)
X	         p = q + 1;
X	      else
X	         break;
X	      }
X	   free(icon_path);
X	   return(icon_load_svrim(path, message));
X	   }
X}
END_OF_FILE
if test 2086 -ne `wc -c <'load_icon.c'`; then
    echo shar: \"'load_icon.c'\" unpacked with wrong size!
fi
# end of 'load_icon.c'
fi
if test -f 'manifest.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'manifest.h'\"
else
echo shar: Extracting \"'manifest.h'\" \(1725 characters\)
sed "s/^X//" >'manifest.h' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1988-1990 by Chuck Musciano and Harris Corporation	*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.  This 	*/
X/*	software may not be sold without the prior explicit permission	*/
X/*	of Harris Corporation.						*/
X/************************************************************************/
X
X/************************************************************************/
X/*									*/
X/*	manifest.h	simple manifest constants			*/
X/*									*/
X/************************************************************************/
X
X#define		TRUE			1
X#define		FALSE			0
X
X#define		PRIVATE			static
X#define		PUBLIC			extern
X#define		EXPORT
X
X#ifndef	NULL
X#define		NULL			0
X#endif
X
X#if !defined(ICON_PATH)
X#define		ICON_PATH		".:./icons:/usr/local/images:/usr/include/images"
X#endif
X
X#define		strsave(x)		(((x) == NULL)? NULL : (char *) strcpy((char *) malloc(strlen(x) + 1), x))
X#define		cond_free(x)		((x)? free(x) : 0)
X
XPUBLIC	int	errno;
XPUBLIC	char	*sys_errlist[];
END_OF_FILE
if test 1725 -ne `wc -c <'manifest.h'`; then
    echo shar: \"'manifest.h'\" unpacked with wrong size!
fi
# end of 'manifest.h'
fi
if test -f 'patchlevel.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'patchlevel.h'\"
else
echo shar: Extracting \"'patchlevel.h'\" \(243 characters\)
sed "s/^X//" >'patchlevel.h' <<'END_OF_FILE'
X/************************************************************************/
X/*									*/
X/*	Patch		Comments					*/
X/*	  0		Initial release for XView			*/
X/*									*/
X/************************************************************************/
END_OF_FILE
if test 243 -ne `wc -c <'patchlevel.h'`; then
    echo shar: \"'patchlevel.h'\" unpacked with wrong size!
fi
# end of 'patchlevel.h'
fi
if test -f 'sample.filter' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'sample.filter'\"
else
echo shar: Extracting \"'sample.filter'\" \(2201 characters\)
sed "s/^X//" >'sample.filter' <<'END_OF_FILE'
Xdefaults {
X   beep                 3
X   flash                yes
X   open                 no
X   stamp                yes
X   good_icon            ""
X   check_icon           ""
X   flash_icon           ""
X   print                "lpr"
X   log_file             ""
X   log_before_filtering no
X   timestamp            10
X   display              32768
X   delete               1024
X}
Xfilters {
X   {
X      match   "su: chuck"
X      comment "Track myself becoming super user"
X      ignore  no
X      beep    0
X      flash   no
X      open    no
X      stamp   yes
X   }
X   {
X      match   "su:"
X      comment "Get excited about anyone else becoming superuser"
X      ignore  no
X      beep    4
X      flash   no
X      open    yes
X      stamp   yes
X   }
X   {
X      match   "Window data lock"
X      to      "The offending process"
X      comment "Ignore spurious window system messages"
X      ignore  yes
X   }
X   {
X      match   "win ioctl number"
X      comment "Ignore spurious window system messages"
X      ignore  no
X      beep    0
X      flash   no
X      open    no
X      stamp   yes
X   }
X   {
X      match   "A tty window"
X      to      "Its child"
X      comment "Ignore spurious window system messages"
X      ignore  no
X      beep    0
X      flash   no
X      open    no
X      stamp   yes
X   }
X   {
X      match   "Too large a window number"
X      comment "Ignore spurious window system messages"
X      ignore  yes
X   }
X   {
X      match   "NFS server"
X      comment "Track NFS server message"
X      ignore  no
X      beep    0
X      flash   no
X      open    no
X      stamp   yes
X   }
X   {
X      match   "yp:"
X      comment "Track YP server problems"
X      ignore  no
X      beep    0
X      flash   no
X      open    no
X      stamp   yes
X   }
X   {
X      match   "/usr/local/frame"
X      comment "Ignore various noisy Frame messages"
X      ignore  yes
X   }
X   {
X      match   "starting maker"
X      to      "maker: Finished"
X      comment "Ignore various noisy Frame messages"
X      ignore  yes
X   }
X   {
X      match   "maker:"
X      comment "Ignore various noisy Frame messages"
X      ignore  yes
X   }
X   {
X      match   "fmprintdriver.ps: Using"
X      comment "Ignore various noisy Frame messages"
X      ignore  yes
X   }
X}
END_OF_FILE
if test 2201 -ne `wc -c <'sample.filter'`; then
    echo shar: \"'sample.filter'\" unpacked with wrong size!
fi
# end of 'sample.filter'
fi
if test -f 'window_misc.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'window_misc.c'\"
else
echo shar: Extracting \"'window_misc.c'\" \(3321 characters\)
sed "s/^X//" >'window_misc.c' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1988-1990 by Chuck Musciano and Harris Corporation	*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.  This 	*/
X/*	software may not be sold without the prior explicit permission	*/
X/*	of Harris Corporation.						*/
X/************************************************************************/
X
X/************************************************************************/
X/*									*/
X/*	window_misc.c	miscellaneous window management functions	*/
X/*									*/
X/************************************************************************/
X
X#include	<stdio.h>
X#include	<sys/param.h>
X#include	<sys/types.h>
X#include	<xview/xview.h>
X#include	<xview/panel.h>
X#include	<xview/xv_xrect.h>
X
X#include	"manifest.h"
X#include	"contool_ui.h"
X
X/************************************************************************/
XEXPORT	void	pinned_menu_notify(menu, item)
X
XMenu		menu;
XMenu_item	item;
X
X{	Xv_opaque	pin_window	 = (Xv_opaque) xv_get(menu, MENU_PIN_WINDOW);
X	void		(*menu_notify)() = (void (*)()) xv_get(menu, MENU_GEN_PROC);
X	void		(*item_notify)() = (void (*)()) xv_get(item, MENU_GEN_PROC);
X	
X	if (pin_window && xv_get(pin_window, XV_SHOW)) {
X	   if (menu_notify)
X	      (*menu_notify)(menu, MENU_NOTIFY);
X	   if (item_notify)
X	      (*item_notify)(item, MENU_NOTIFY);
X	   if (item_notify)
X	      (*item_notify)(item, MENU_NOTIFY_DONE);
X	   if (menu_notify)
X	      (*menu_notify)(menu, MENU_NOTIFY_DONE);
X	}
X}
X
X/************************************************************************/
XEXPORT	Panel_setting	file_completion(item, event)
X
XPanel_item	item;
XEvent		*event;
X
X{	char	*p, *expand_filename();
X
X	switch (event_action(event)) {
X	   case '\n' :
X	   case '\r' :
X	   case ' '  : if ((p = expand_filename(xv_get(item, PANEL_VALUE))) == NULL)
X	   		  window_bell(xv_get(item, XV_OWNER));
X	   	       else
X	   	          xv_set(item, PANEL_VALUE, p, 0);
X	   	       return(PANEL_NONE);
X	   default   : return(panel_text_notify(item, event));
X	   }
X}
X
X/************************************************************************/
XEXPORT	void	place_dialog(base, dialog)
X
XXv_opaque	base;
XXv_opaque	dialog;
X
X{	Rect	br, dr, sr;
X
X	sr = *((Rect *) xv_get(base, WIN_SCREEN_RECT));
X	frame_get_rect(base, &br);
X	frame_get_rect(dialog, &dr);
X	if (rect_right(&br) + dr.r_width < sr.r_width) {
X	   dr.r_left = rect_right(&br);
X	   dr.r_top = br.r_top;
X	   }
X	else if (dr.r_width <= br.r_left) {
X	   dr.r_left = br.r_left - dr.r_width;
X	   dr.r_top = br.r_top;
X	   }
X	else {
X	   dr.r_left = br.r_left + 32;
X	   dr.r_top = br.r_top + 32;
X	   }
X	frame_set_rect(dialog, &dr);
X}
END_OF_FILE
if test 3321 -ne `wc -c <'window_misc.c'`; then
    echo shar: \"'window_misc.c'\" unpacked with wrong size!
fi
# end of 'window_misc.c'
fi
echo shar: End of archive 1 \(of 6\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 2 3 4 5 6 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 6 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

Chuck Musciano				ARPA  : chuck@trantor.harris-atd.com
Harris Corporation 			Usenet: ...!uunet!x102a!trantor!chuck
PO Box 37, MS 3A/1912			AT&T  : (407) 727-6131
Melbourne, FL 32902			FAX   : (407) 727-{5118,5227,4004}

I'm glad you asked, son.  Being popular
	is the most important thing in the world.	-- Homer Simpson