v10i034: contool -- replacement for 'cmdtool -C', Part01/06
Chuck Musciano
chuck at melmac.harris-atd.com
Tue Oct 30 17:24:58 AEST 1990
Submitted-by: news at trantor.harris-atd.com (News stuff)
Posting-number: Volume 10, Issue 34
Archive-name: contool/part01
Contool is an alternate console window for workstations running
X Windows. It is known to run on all Sun workstations, and should function
on other machines, too.
Contool provides sophisticated console message filtering and alarm
features. Using regular expressions, you configure contool to detect and react
to console messages. Possible reactions include icon flashing, beeping,
opening the window, logging the message, and executing any command.
Contool uses dialog boxes to provide filter editing and tool property
management. It will work under and window manager, but runs best under
olwm.
You'll need X11r4 and XView 2.0, or Sun's OpenWindows 2.0, to build
contool.
Chuck Musciano ARPA : chuck at 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) 729-2537
A good newspaper is never good enough,
but a lousy newspaper is a joy forever. -- Garrison Keillor
#! /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 at 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 at 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 at 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 at 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 at stanford.prime.com).
X Filter strings are now regular expressions.
X Provided by jqj at hogg.cc.uoregon.edu.
X Reworked frame menu, based upon diffs posted
X to sun-source at 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 at 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 at unmvax.cs.unm.edu).
X Added moving the blinking icon to the front,
X courtesy of Peter Lennevi
X (etxlevi at 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 at 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 at cunyvm.cuny.edu).
X Reworked console overflow handling,
X courtesy of Matt Cohen
X (sysnmc at 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 at 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) 729-2537
A good newspaper is never good enough,
but a lousy newspaper is a joy forever. -- Garrison Keillor
dan
----------------------------------------------------
O'Reilly && Associates argv at sun.com / argv at ora.com
Opinions expressed reflect those of the author only.
More information about the Comp.sources.x
mailing list