[comp.sources.x] v11i006: catcher -- drag and drop manager, Part01/05

chuck@trantor.harris-atd.com (Chuck Musciano) (01/29/91)

Submitted-by: chuck@trantor.harris-atd.com (Chuck Musciano)
Posting-number: Volume 11, Issue 6
Archive-name: catcher/part01

     Catcher is a tool that allows you to build windowed tools that can
catch drag and drop files dragged from other windowed tools.  Catcher
runs under either X11r4 or Sun's OpenWindows 2.0.  In either case, you'll
need at least one tool which allows dragging (like Sun's mailtool or
filemgr) from which to drag files.

     You use a little scripting language to specify the windowed interface
to an existing command.  For example, you can build a drag and drop
interface to cc.  Gadgets in the window let you set optimization levels
and link libraries.  When you drop a file on the tool, cc is run with your
options, and the file is compiled.  This general mechanism opens up a world
of new commands for those not familiar for Unix.  Sample tools included
with catcher include drag and drop interfaces to sort, cc, and enscript.

     Catcher comes complete with a 24 page User Guide, which you can print
on a PostScript printer.  If you cannot print the manual, let me know and
I'll see about having some copies made for distribution.

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) 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 5)."
# Contents:  Imakefile MANIFEST Makefile README busy.c catcher.man doc
#   doc/Makefile doc/xac drag_drop.h icons icons/catcher.icon
#   icons/catcher_mask.icon load_icon.c manifest.h samples
#   samples/compile.dd samples/compile.icon samples/compile.mask
#   samples/print.dd samples/printer.icon samples/printer.mask
#   samples/sample.dd samples/sort.icon samples/sort.mask
# Wrapped by chuck@melmac on Wed Jan 16 13:10:26 1991
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'Imakefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Imakefile'\"
else
echo shar: Extracting \"'Imakefile'\" \(717 characters\)
sed "s/^X//" >'Imakefile' <<'END_OF_FILE'
X# Where do you have OpenWindows installed?
XOPENWINHOME	= /usr/openwin
X
X# Command to use to print the manual (must honor -P option to set printer)
XPRINT		= lpr
X
X# PostScript printer to use
XPRINTER		= lw
X
XLOCAL_LIBRARIES = -lxview -lolgx $(XLIB)
X
XLDOPTIONS	= -L$(OPENWINHOME)/lib
X
XCFLAGS		= -O -I$(OPENWINHOME)/include
X
XSRCS		= busy.c catcher.c execute.c load_icon.c misc.c option.c panel.c parse.y place_dialog.c process.c
X
XOBJS		= busy.o catcher.o execute.o load_icon.o misc.o option.o panel.o parse.o place_dialog.o process.o
X
XComplexProgramTarget(catcher)
X
Xinstall:: install.man
X	$(INSTALL) -c $(INSTMANFLAGS) catcher.info $(HELPDIR)/catcher.info
X
Xmanual:
X	cd doc; make PRINT="$(PRINT)" PRINTER="$(PRINTER)" manual
END_OF_FILE
if test 717 -ne `wc -c <'Imakefile'`; then
    echo shar: \"'Imakefile'\" unpacked with wrong size!
fi
# end of 'Imakefile'
fi
if test -f 'MANIFEST' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'MANIFEST'\"
else
echo shar: Extracting \"'MANIFEST'\" \(1292 characters\)
sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
X   File Name		Archive #	Description
X-----------------------------------------------------------
X Imakefile                  1	
X MANIFEST                   1	This shipping list
X Makefile                   1	
X README                     1	
X busy.c                     1	
X catcher.c                  3	
X catcher.h                  2	
X catcher.man                1	
X doc                        1	
X doc/Makefile               1	
X doc/xaa                    4	
X doc/xab                    5	
X doc/xac                    1	
X drag_drop.h                1	
X execute.c                  2	
X icons                      1	
X icons/catcher.icon         1	
X icons/catcher_mask.icon    1	
X lex.c                      2	
X load_icon.c                1	
X manifest.h                 1	
X misc.c                     2	
X option.c                   2	
X panel.c                    2	
X parse.y                    3	
X place_dialog.c             2	
X process.c                  3	
X samples                    1	
X samples/compile.dd         1	
X samples/compile.icon       1	
X samples/compile.mask       1	
X samples/print.dd           1	
X samples/printer.icon       1	
X samples/printer.mask       1	
X samples/sample.dd          1	
X samples/sort.dd            2	
X samples/sort.icon          1	
X samples/sort.mask          1	
END_OF_FILE
if test 1292 -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'\" \(1570 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# 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 -DMAILER=\"$(MAILER)\"
X
X# Command to use to print the manual (must honor -P option to set printer)
XPRINT		= lpr
X
X# PostScript printer to use
XPRINTER		= lw
X
XCATCHER		= busy.o catcher.o execute.o load_icon.o misc.o option.o panel.o parse.o place_dialog.o process.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) $(CPPFLAGS) -c -o $*.o y.tab.c
X	rm y.tab.c
X
Xcatcher: $(CATCHER)
X	cc $(OPTIONS) -o catcher $(CATCHER) $(LDFLAGS) $(LDLIBS)
X
Xinstall: catcher $(MAN)/catcher.$(MANEXT)
X	cp catcher $(BIN)
X	chmod 755 $(BIN)/catcher
X	cp catcher.info $(HELPDIR)
X
X$(MAN)/catcher.$(MANEXT): catcher.man
X	cp -p catcher.man $(MAN)/catcher.$(MANEXT)
X
Xmanual:
X	cd doc; make PRINT="$(PRINT)" PRINTER="$(PRINTER)" manual
X
Xclean:
X	rm -f *~ *.o catcher core
X
X#dependencies
X
Xcatcher.o: manifest.h catcher.h drag_drop.h icons/catcher.icon \
X	 icons/catcher_mask.icon
X
Xexecute.o: manifest.h
X
Xload_icon.o: manifest.h
X
Xmisc.o: manifest.h
X
Xoption.o: manifest.h catcher.h
X
Xpanel.o: manifest.h catcher.h
X
Xparse.o: manifest.h catcher.h lex.c
X
Xplace_dialog.o: manifest.h
X
Xprocess.o: manifest.h catcher.h
END_OF_FILE
if test 1570 -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'\" \(4593 characters\)
sed "s/^X//" >'README' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1987-1991 by Chuck Musciano and Harris Corporation 	*/
X/*									*/
X/*	Full ownership of this software, and all rights pertaining to 	*/
X/*	the for-profit distribution of this software, are retained by 	*/
X/*	Chuck Musciano and Harris Corporation.  You are permitted to 	*/
X/*	use this software without fee.  This software is provided "as 	*/
X/*	is" without express or implied warranty.  You may redistribute 	*/
X/*	this software, provided that this copyright notice is retained,	*/
X/*	and that the software is not distributed for profit.  If you 	*/
X/*	wish to use this software in a profit-making venture, you must 	*/
X/*	first license this code and its underlying technology from 	*/
X/*	Harris Corporation. 						*/
X/*									*/
X/*	Bottom line: you can have this software, you can use it, you 	*/
X/*	can give it away.  You just can't sell any or all parts of it 	*/
X/*	without prior permission from Harris Corporation. 		*/
X/************************************************************************/
X
X     Catcher Version 1.0
X     
X     Catcher is a tool that allows you to build windowed tools that can
Xcatch drag and drop files dragged from other windowed tools.  Catcher
Xruns under either X11r4 or Sun's OpenWindows 2.0.  In either case, you'll
Xneed at least one tool which allows dragging (like Sun's mailtool or
Xfilemgr) from which to drag files.
X
X     You use a little scripting language to specify the windowed interface
Xto an existing command.  For example, you can build a drag and drop
Xinterface to cc.  Gadgets in the window let you set optimization levels
Xand link libraries.  When you drop a file on the tool, cc is run with your
Xoptions, and the file is compiled.  This general mechanism opens up a world
Xof new commands for those not familiar for Unix.  Sample tools included
Xwith catcher include drag and drop interfaces to sort, cc, and enscript.
X
X     Catcher comes complete with a 24 page User Guide, which you can print
Xon a PostScript printer.  If you cannot print the manual, let me know and
XI'll see about having some copies made for distribution.
X
X     Before building catcher, you need to check several site dependencies
Xin the Makefile or Imakefile.  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		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
X		PRINT		Your local printing command, usually "lpr".
X				This command must accept the -P option
X				to specify which printer to use.
X		
X		PRINTER		The name of your local PostScript printer.
X				The default is "lw".
X			
XOnce you have adjusted these values, build catcher.  If using imake, run
Xxmkmf first.  Then do a "make catcher" or "make install".  There is also
Xa target to print the manual ("make manual").
X
X     Comments, bugs, to me, please.  I would be very interested in your 
Ximpressions of catcher and any suggestions you might have to make it better.
XBy the way, there are a few sample programs in the samples directory which
Xdemonstrate some of catcher's capabilities.
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*********************************************************************************
X*				Change history					*
X*********************************************************************************
X
X     	1.0	16 Jan 91	Original release
END_OF_FILE
if test 4593 -ne `wc -c <'README'`; then
    echo shar: \"'README'\" unpacked with wrong size!
fi
# end of 'README'
fi
if test -f 'busy.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'busy.c'\"
else
echo shar: Extracting \"'busy.c'\" \(2165 characters\)
sed "s/^X//" >'busy.c' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1987-1991 by Chuck Musciano and Harris Corporation 	*/
X/*									*/
X/*	Full ownership of this software, and all rights pertaining to 	*/
X/*	the for-profit distribution of this software, are retained by 	*/
X/*	Chuck Musciano and Harris Corporation.  You are permitted to 	*/
X/*	use this software without fee.  This software is provided "as 	*/
X/*	is" without express or implied warranty.  You may redistribute 	*/
X/*	this software, provided that this copyright notice is retained,	*/
X/*	and that the software is not distributed for profit.  If you 	*/
X/*	wish to use this software in a profit-making venture, you must 	*/
X/*	first license this code and its underlying technology from 	*/
X/*	Harris Corporation. 						*/
X/*									*/
X/*	Bottom line: you can have this software, you can use it, you 	*/
X/*	can give it away.  You just can't sell any or all parts of it 	*/
X/*	without prior permission from Harris Corporation. 		*/
X/************************************************************************/
X
X/************************************************************************/
X/*									*/
X/*	busy.c	turn frame busy attribute on and off			*/
X/*									*/
X/************************************************************************/
X
X#include	<stdio.h>
X#include	<xview/xview.h>
X#include	<xview/panel.h>
X
X#include	"manifest.h"
X
X/************************************************************************/
XPRIVATE	set_busy(base, busy, skip)
X
XFrame	base;
Xint	busy;
XFrame	skip;
X
X{	Frame	subframe;
X	int	i;
X
X	for (i = 1; subframe = (Frame) xv_get(base, FRAME_NTH_SUBFRAME, i); i++)
X	   if (subframe != skip)
X	      if (xv_get(subframe, XV_SHOW))
X	         xv_set(subframe, FRAME_BUSY, busy, NULL);
X	xv_set(base, FRAME_BUSY, busy, NULL);
X}
X
X/************************************************************************/
XEXPORT	lets_get_busy(base, busy, skip)
X
XFrame	base;
Xint	busy;
XFrame	skip;
X
X{	static	int	depth = 0;
X
X	if (busy) {
X	   if (depth == 0)
X	      set_busy(base, TRUE, skip);
X	   depth++;
X	   }
X	else if (depth > 0)
X	   if (--depth == 0)
X	      set_busy(base, FALSE, NULL);
X}
END_OF_FILE
if test 2165 -ne `wc -c <'busy.c'`; then
    echo shar: \"'busy.c'\" unpacked with wrong size!
fi
# end of 'busy.c'
fi
if test -f 'catcher.man' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'catcher.man'\"
else
echo shar: Extracting \"'catcher.man'\" \(1041 characters\)
sed "s/^X//" >'catcher.man' <<'END_OF_FILE'
X.TH CATCHER 1L "3 JAN 1991"
X.SH NAME
Xcatcher \- create a tool to catch dropped files
X.SH SYNOPSIS
X\fBcatcher\fP [ \fIfile\fP ]
X.SH DESCRIPTION
XCatcher creates a simple windowed application based upon a specification
Xread from the \fIfile\fP.  If no \fIfile\fP is provided, the specification
Xis read from the standard input.
X.LP
XOnce created, the application sits on the desktop, waiting for a file or
Xtext to be dropped upon it.  Many OPEN LOOK tools, including \fIfilemgr\fP(1),
X\fItextedit\fP(1), and \fImailtool\fP(1), can be used as a source of dropped files or text.
XDropped files and text are processed by commands specified in the application.
X.LP
XDetails of the language used to create catcher applications are too
Xnumerous to mention here.  The user is referred to the \fICatcher User's Guide\fP
Xfor more information.
X.SH SEE ALSO
Xfilemgr(1), mailtool(1), olwm(1), openwin(1), textedit(1)
X.SH AUTHOR
XChuck Musciano
X.br
XAdvanced Technology Department
X.br
XHarris Corporation
X.br
X(407) 727-6131
X.br
XARPA: chuck@trantor.harris-atd.com
X
END_OF_FILE
if test 1041 -ne `wc -c <'catcher.man'`; then
    echo shar: \"'catcher.man'\" unpacked with wrong size!
fi
# end of 'catcher.man'
fi
if test ! -d 'doc' ; then
    echo shar: Creating directory \"'doc'\"
    mkdir 'doc'
fi
if test -f 'doc/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'doc/Makefile'\"
else
echo shar: Extracting \"'doc/Makefile'\" \(262 characters\)
sed "s/^X//" >'doc/Makefile' <<'END_OF_FILE'
Xmanual:
X	cat x* >guide.uu
X	uudecode guide.uu
X	uncompress guide.ps.Z
X	$(PRINT) -P$(PRINTER) guide.ps
X	rm guide.uu guide.ps
X
Xshar:
X	compress guide.ps
X	uuencode guide.ps.Z guide.ps.Z >guide.ps.Z.uu
X	split -500 guide.ps.Z.uu
X	rm guide.ps.Z.uu
X	uncompress guide.ps.Z
END_OF_FILE
if test 262 -ne `wc -c <'doc/Makefile'`; then
    echo shar: \"'doc/Makefile'\" unpacked with wrong size!
fi
# end of 'doc/Makefile'
fi
if test -f 'doc/xac' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'doc/xac'\"
else
echo shar: Extracting \"'doc/xac'\" \(2342 characters\)
sed "s/^X//" >'doc/xac' <<'END_OF_FILE'
XM7;^I18-2LQW'Q$R =8+!<Q&C<3X)<ZAYUDQKGC#+#CTWI,)8,^V&[%HBZLQQ
XMFG=&_T@[\W*NUDQLUC 7:J^',IP<$*^Y]Y<#^C533,L %-E7\_KHHT,^*C9;
XMFYW,:$IDLZ7W'4IIIC;/@W*?E#YIL[S+EH1GOC:;FV?,V, KSE6$W#R>@7"Z
XMF:L\ =@%<^W&UA?J$82!FL_->N:5J/DS!+$9HMV$F/$[=R%^,X@9<81J%CB7
XMF$5'9V79I+A98(3"Q#<[G&',M^8"61Q(RCRM@5<QG"G.)YN)L[!OFQ1L1HPZ
XM@F3-#V=B<Y_Y>OAQ]C>_J]+,8#Z,\Z4OQD,:_3$[&N=!^564:E\ %WD2A"%1
XM_CK,1)R7<[DYY!QJ)DR2G&_,%D5.CS-7YVP"I V@ *D]"^>*,\B9Y^QP1B&J
XMFX7.\MA)<\7YS*9TQL?*F_>4OB3JZ-*9Z4QF9B!AAX*46F=_,[?969,KA!F5
XM/P_.JZ^]KP^IXZP)S!ZRF+G.M>9'\_7PPR2/'3NGSDB";F?6EQ0LY[8L^S%;
XMWK;.<.<F,Y]Q[@SZPS';+Z?.),'"LX^YU"N*[1_%R70#,^=:DO!&%!MX9CI3
XM+9-<F1Y1;+M+Z!R5$\6"FW>??N<[TLZY\EQL=CJ[>>Q:\R!US<F9)"AZ5C #
XM/UN=F!N?V"/H[4QZ?C'KFP-DTK\]T*:'[.P:RST3@)"7P=G2<IK')->0)(.L
XM;,7+3.)^5Z4JS,?L<O/%4!D],(CV EW +D",_ L0!M@1AB;.SYX(=5$J: *0
XM!;A7^$(P!1* EC EP G( >*#G69$7\!F.3C3,@+X+I $LP$- H5 0 #)TH(6
XM-QH5*A^7X6X8 AA4O!IX_VZ,R4^DK49UB!41: &H$$A7"DR\ 6(+$5P%71FH
XM*2A^<[-?F+85M)I_;N/J!]6%V^=T@?>Y7T'.^7.-GXN[I@'S,_KY^ZA4AH@ 
XM;JQ_U[:2A=WGFP!8R/M<"?B09D$']-C3Q:/C/4%KLHQ;.N*/IUJ 25M).)S*
XMH'/0XT%TLNOS:?+?\@XD'Y>TP8S!@;$Q*SQ>R1DEUAP,+8'O<=YHGLI42RK[
XM;GI MJ2$E+8U*XHXG=ZT>_-!YC7C5O-"A :F](HVH._/.6A^\<76U<E4K5OB
XM'&P6D +QE>SE DUY!'RI?W'$^.=U)!]'T4,G0DY2(<D;"D8%](V8VW. =NY$
XM0F&I)0NT0+A8. "#MC_GB.T^8;-"M.QF[-DB6 /D#2B,"(>^I,@UZ]EP51,^
XM$=<YRP%A%F%PO5!Y]&APD[EC[Z+)P)#Y,C %Q7>0GT/08H$1=#<)D4QE=1@:
XM!!);#<#T $2 HTP;$*3%H-'0%6A>M(71:T:4W1_L*\EJQ0/FXS@6S>DPK(KR
XM6FL/PUYF= H:!,!P!4NN59%]!DHO43HHX^4P3)&@#\E%L;DU9"65DA8(SLV4
XMSQ@*12XF;89+3'#RL>+2!V2&'^BH "SZ_*PP_3YRQL)>>S4EIZ<6VJ.\F*!=
XM5.&8I6CN2TF@8L3HV!F!T-@ S$?E"DP!3R$B;7"Y"K8YT$B,:5OP5C JB&P-
XM+D!5!X:8<2&-,U9"'/2@ ;C/+.+O<_B6&I;)311=!R8,L;8]&6ZL;D*[>1>L
XMHL\ C8'.)5L12D#WRNF,35G2XYEX=/DY%EV/]L+"X4B1XQDH@+7"(; \^@HT
XM 0X,,X @P L 36GR)1JN"E$ 30"8@K,6L?85, (4$8YC[QK:*3:'=@,B>&OH
XM*3QDKPPUBD9Z(I SG+>F=+C/0 #-0KR!=KK?V7H%'>71#X)JA L 3Z'U00[9
XMY_1!!H*+=!##94!#@!^0I7]50&DYJKOF!G B2U/= %H [YG^D/*HLVPM.[J"
XMEL4\)+E_8F3Z^!R]%!'E5 5]QJ0KVY&(:5N3+5K:E8@WOAVL XGKKTM["!AS
XMX<ZC&X0B40E(^E.OY<(IAPK)M9N/M 9:)$W.*0%=@*)DY*.3M #MX?!$P@Z)
XMN I=I3F7]%L9!""3SLW0I(MT=1[($'!Z'J23GD?+HGFJ;Z2"[@SG]DEJAB79
XM>;8^S.>K;9@(^/R8WI:9;?"GR0&!K9E X"#6HADX!" "9=X^E9WJ)6#+84>,
XM! ;24(*5 $\ (M"?2=(P:00T&($5P&WDX=.@$=+DIY$#&1K\@?Y 1D 0T$_'
XM)J,45X'_-!+ 16.EB='XIPO4^VD&S7BZ!*"?KD_?#Q[4%&H =9!F1G.?SA,H
X>J!G4  H']8RF3,,IM1! J!?459H0=0N 1-VE40  
X 
Xend
END_OF_FILE
if test 2342 -ne `wc -c <'doc/xac'`; then
    echo shar: \"'doc/xac'\" unpacked with wrong size!
fi
# end of 'doc/xac'
fi
if test -f 'drag_drop.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'drag_drop.h'\"
else
echo shar: Extracting \"'drag_drop.h'\" \(1484 characters\)
sed "s/^X//" >'drag_drop.h' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1987-1991 by Chuck Musciano and Harris Corporation 	*/
X/*									*/
X/*	Full ownership of this software, and all rights pertaining to 	*/
X/*	the for-profit distribution of this software, are retained by 	*/
X/*	Chuck Musciano and Harris Corporation.  You are permitted to 	*/
X/*	use this software without fee.  This software is provided "as 	*/
X/*	is" without express or implied warranty.  You may redistribute 	*/
X/*	this software, provided that this copyright notice is retained,	*/
X/*	and that the software is not distributed for profit.  If you 	*/
X/*	wish to use this software in a profit-making venture, you must 	*/
X/*	first license this code and its underlying technology from 	*/
X/*	Harris Corporation. 						*/
X/*									*/
X/*	Bottom line: you can have this software, you can use it, you 	*/
X/*	can give it away.  You just can't sell any or all parts of it 	*/
X/*	without prior permission from Harris Corporation. 		*/
X/************************************************************************/
X
X/************************************************************************/
X/*									*/
X/*	drag_drop.h	define message sent by drag and drop 		*/
X/*									*/
X/************************************************************************/
X
Xtypedef	struct	{XID             xid;
X		 int             x;
X		 int             y;
X		 Window          window;
X		 Atom            property;
X		} Drag_message;
END_OF_FILE
if test 1484 -ne `wc -c <'drag_drop.h'`; then
    echo shar: \"'drag_drop.h'\" unpacked with wrong size!
fi
# end of 'drag_drop.h'
fi
if test ! -d 'icons' ; then
    echo shar: Creating directory \"'icons'\"
    mkdir 'icons'
fi
if test -f 'icons/catcher.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'icons/catcher.icon'\"
else
echo shar: Extracting \"'icons/catcher.icon'\" \(1997 characters\)
sed "s/^X//" >'icons/catcher.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,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,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	0x0FFF,0xFFFF,0xFFFF,0xFFF0,
X	0x0800,0x0000,0x0000,0x0010,
X	0x0800,0x0000,0x0000,0x0010,
X	0x0800,0x0000,0x0000,0x0010,
X	0x0800,0x0000,0x0000,0x0010,
X	0x0800,0x0000,0x0000,0x0010,
X	0x0800,0x0000,0x0400,0x0010,
X	0x081E,0x0020,0x0400,0x0010,
X	0x0821,0x0020,0x0400,0x0010,
X	0x0840,0x1C78,0xE587,0x1610,
X	0x0840,0x2221,0x0648,0x9810,
X	0x0840,0x0222,0x0448,0x9010,
X	0x0840,0x1E22,0x044F,0x9010,
X	0x0840,0x2222,0x0448,0x1010,
X	0x0821,0x2221,0x0448,0x9010,
X	0x081E,0x1D18,0xE447,0x1010,
X	0x0800,0x0000,0x0000,0x0010,
X	0x0800,0x0000,0x0000,0x0010,
X	0x0800,0x0000,0x0000,0x0010,
X	0x0800,0x0000,0x0000,0x0010,
X	0x0800,0x0000,0x0000,0x0010,
X	0x0800,0x0000,0x0000,0x0010,
X	0x0800,0x0000,0x0000,0x0010,
X	0x0FFF,0xFFFF,0xFFFF,0xFFF0,
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,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,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
END_OF_FILE
if test 1997 -ne `wc -c <'icons/catcher.icon'`; then
    echo shar: \"'icons/catcher.icon'\" unpacked with wrong size!
fi
# end of 'icons/catcher.icon'
fi
if test -f 'icons/catcher_mask.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'icons/catcher_mask.icon'\"
else
echo shar: Extracting \"'icons/catcher_mask.icon'\" \(1997 characters\)
sed "s/^X//" >'icons/catcher_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,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,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x1FFF,0xFFFF,0xFFFF,0xFFF8,
X	0x1FFF,0xFFFF,0xFFFF,0xFFF8,
X	0x1FFF,0xFFFF,0xFFFF,0xFFF8,
X	0x1C00,0x0000,0x0000,0x0038,
X	0x1C00,0x0000,0x0000,0x0038,
X	0x1C00,0x0000,0x0000,0x0038,
X	0x1C00,0x0000,0x0000,0x0038,
X	0x1C00,0x0000,0x0400,0x0038,
X	0x1C1E,0x0020,0x0400,0x0038,
X	0x1C21,0x0020,0x0400,0x0038,
X	0x1C40,0x1C78,0xE587,0x1638,
X	0x1C40,0x2221,0x0648,0x9838,
X	0x1C40,0x0222,0x0448,0x9038,
X	0x1C40,0x1E22,0x044F,0x9038,
X	0x1C40,0x2222,0x0448,0x1038,
X	0x1C21,0x2221,0x0448,0x9038,
X	0x1C1E,0x1D18,0xE447,0x1038,
X	0x1C00,0x0000,0x0000,0x0038,
X	0x1C00,0x0000,0x0000,0x0038,
X	0x1C00,0x0000,0x0000,0x0038,
X	0x1C00,0x0000,0x0000,0x0038,
X	0x1C00,0x0000,0x0000,0x0038,
X	0x1C00,0x0000,0x0000,0x0038,
X	0x1FFF,0xFFFF,0xFFFF,0xFFF8,
X	0x1FFF,0xFFFF,0xFFFF,0xFFF8,
X	0x1FFF,0xFFFF,0xFFFF,0xFFF8,
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,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,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/catcher_mask.icon'`; then
    echo shar: \"'icons/catcher_mask.icon'\" unpacked with wrong size!
fi
# end of 'icons/catcher_mask.icon'
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'\" \(2191 characters\)
sed "s/^X//" >'load_icon.c' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1987-1991 by Chuck Musciano and Harris Corporation 	*/
X/*									*/
X/*	Full ownership of this software, and all rights pertaining to 	*/
X/*	the for-profit distribution of this software, are retained by 	*/
X/*	Chuck Musciano and Harris Corporation.  You are permitted to 	*/
X/*	use this software without fee.  This software is provided "as 	*/
X/*	is" without express or implied warranty.  You may redistribute 	*/
X/*	this software, provided that this copyright notice is retained,	*/
X/*	and that the software is not distributed for profit.  If you 	*/
X/*	wish to use this software in a profit-making venture, you must 	*/
X/*	first license this code and its underlying technology from 	*/
X/*	Harris Corporation. 						*/
X/*									*/
X/*	Bottom line: you can have this software, you can use it, you 	*/
X/*	can give it away.  You just can't sell any or all parts of it 	*/
X/*	without prior permission from 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
X#if !defined(ICON_PATH)
X#define		ICON_PATH		".:./icons:/usr/local/images:/usr/include/images"
X#endif
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 2191 -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'\" \(1676 characters\)
sed "s/^X//" >'manifest.h' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1987-1991 by Chuck Musciano and Harris Corporation 	*/
X/*									*/
X/*	Full ownership of this software, and all rights pertaining to 	*/
X/*	the for-profit distribution of this software, are retained by 	*/
X/*	Chuck Musciano and Harris Corporation.  You are permitted to 	*/
X/*	use this software without fee.  This software is provided "as 	*/
X/*	is" without express or implied warranty.  You may redistribute 	*/
X/*	this software, provided that this copyright notice is retained,	*/
X/*	and that the software is not distributed for profit.  If you 	*/
X/*	wish to use this software in a profit-making venture, you must 	*/
X/*	first license this code and its underlying technology from 	*/
X/*	Harris Corporation. 						*/
X/*									*/
X/*	Bottom line: you can have this software, you can use it, you 	*/
X/*	can give it away.  You just can't sell any or all parts of it 	*/
X/*	without prior permission from 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#define		X_MARGIN		14
X#define		TOP_MARGIN		4
X#define		PANEL_GAP		4
X#define		ITEM_GAP		14
X
X#ifndef	NULL
X#define		NULL			0
X#endif
X
X#define		strsave(x)		((x)? (char *) strcpy(malloc(strlen(x) + 1), x) : NULL)
X
XPUBLIC	int	errno;
XPUBLIC	char	*sys_errlist[];
END_OF_FILE
if test 1676 -ne `wc -c <'manifest.h'`; then
    echo shar: \"'manifest.h'\" unpacked with wrong size!
fi
# end of 'manifest.h'
fi
if test ! -d 'samples' ; then
    echo shar: Creating directory \"'samples'\"
    mkdir 'samples'
fi
if test -f 'samples/compile.dd' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'samples/compile.dd'\"
else
echo shar: Extracting \"'samples/compile.dd'\" \(1561 characters\)
sed "s/^X//" >'samples/compile.dd' <<'END_OF_FILE'
X#!/usr/local/bin/catcher
X#
X# Compile a file dropped on the catcher
X
Xlabel "Compile"
Xicon "compile.icon"
Xicon_mask "compile.mask"
Xoutput 12 by 80
Xsuffix "c"
Xmessage "Compiling ${file:t}..."
Xcommand {
X   label "Compile a C program:"
X   command "cc ${optimize} ${result} ${file}"
X   exclusive optimize {
X      label "Optimization level:"
X      horizontal
X      choice {
X         label "None"
X         value ""
X         }
X      choice {
X         label "1"
X         value "-O1"
X         }
X      choice {
X         label "2"
X         value "-O2"
X         default
X         }
X      choice {
X         label "3"
X         value "-O3"
X         }
X      choice {
X         label "4"
X         value "-O4"
X         }
X      }
X   exclusive result {
X      label "Generate:"
X      choice {
X         label "object module"
X         value "-c -o ${file:r}.o"
X         default
X         }
X      choice {
X         label "executable code"
X         value "-o ${file:r}"
X         }
X      }
X   nonexclusive {
X      label "Link with:"
X      choice math {
X         label "Math"
X         value "-lm"
X         }
X      choice math {
X         label "XView"
X         value "-lxview"
X         }
X      choice math {
X         label "OLGX"
X         value "-lolgx"
X         }
X      choice math {
X         label "Athena widgets"
X         value "-lXaw"
X         }
X      choice math {
X         label "X utilities"
X         value "-lXmu"
X         }
X      choice math {
X         label "X Windows"
X         value "-lX"
X         }
X      }
X   text others {
X      label "Other options:"
X      text 30
X      }
X   }
END_OF_FILE
if test 1561 -ne `wc -c <'samples/compile.dd'`; then
    echo shar: \"'samples/compile.dd'\" unpacked with wrong size!
fi
# end of 'samples/compile.dd'
fi
if test -f 'samples/compile.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'samples/compile.icon'\"
else
echo shar: Extracting \"'samples/compile.icon'\" \(1997 characters\)
sed "s/^X//" >'samples/compile.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,0x00F8,
X	0x0000,0x0000,0x0000,0x0084,
X	0x0000,0x0000,0x0000,0x0104,
X	0x0000,0x0000,0x0000,0x0104,
X	0x03FF,0xC000,0x0000,0x79E8,
X	0x0200,0x4000,0x0000,0x4410,
X	0x0200,0x4000,0x0000,0x4400,
X	0x020E,0x4000,0x0000,0x4800,
X	0x0210,0x4000,0x0000,0x3800,
X	0x0210,0x4000,0x0000,0x0000,
X	0x0210,0x4000,0x0001,0x8000,
X	0x0250,0x4000,0x0012,0x4000,
X	0x024E,0x4000,0x0022,0x4000,
X	0x0200,0x4000,0x0041,0xC000,
X	0x0200,0x4000,0x0080,0x0000,
X	0x03FF,0xC000,0x0370,0x0000,
X	0x0000,0x0000,0x0350,0x0000,
X	0x0000,0x0000,0x0050,0x0000,
X	0x1FFF,0xF800,0x0050,0x0000,
X	0x0800,0x1000,0x0050,0x0000,
X	0x0400,0x2000,0x0050,0x0000,
X	0x0200,0x4000,0x0050,0x0000,
X	0x0100,0x8000,0x0050,0x0000,
X	0x0081,0x0000,0x0050,0x0000,
X	0x0042,0x0000,0x0050,0x0000,
X	0x0042,0x0000,0x0050,0x0000,
X	0x0042,0x0000,0x0050,0x0000,
X	0x0042,0x0000,0x0050,0x0000,
X	0x0042,0x0000,0x0050,0x0000,
X	0x0042,0x0000,0x0050,0x0000,
X	0x0042,0x0000,0x0050,0x0000,
X	0x0FFF,0xFFFF,0xFFF0,0x0000,
X	0x0800,0x0000,0x0010,0x0000,
X	0x0800,0x0000,0x0010,0x0000,
X	0x0800,0x0000,0x0010,0x0000,
X	0x0800,0x000E,0x1C10,0x0000,
X	0x080F,0x8011,0x2210,0x0000,
X	0x0812,0x4011,0x2210,0x0000,
X	0x0822,0x2011,0x2210,0x0000,
X	0x0842,0x100E,0x1C10,0x0000,
X	0x0842,0x1C00,0x0010,0x0000,
X	0x087F,0xF200,0x0010,0x0000,
X	0x0842,0x1100,0x1C10,0xFFF0,
X	0x0842,0x10C0,0x2210,0x8010,
X	0x0822,0x2020,0x2210,0x8010,
X	0x0812,0x4010,0x2210,0x8310,
X	0x080F,0x800C,0x1C10,0x8490,
X	0x0806,0x0002,0x0010,0x8490,
X	0x0801,0x8001,0x0010,0x8490,
X	0x0800,0x6000,0xC010,0x9490,
X	0x0800,0x1C00,0x2010,0x9310,
X	0x0800,0x0300,0x7010,0x8010,
X	0x0800,0x00E0,0x8810,0x8010,
X	0x0800,0x0018,0x8810,0xFFF0,
X	0x0800,0x0006,0x881F,0xFFFC,
X	0x0800,0x0001,0xF010,0x0022,
X	0x0800,0x0000,0x0010,0x0041,
X	0x0800,0x0000,0x0010,0x0049,
X	0x0800,0x0000,0x0010,0x0041,
X	0x0800,0x0000,0x0010,0x0022,
X	0x0FFF,0xFFFF,0xFFFF,0xFFFC,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000
END_OF_FILE
if test 1997 -ne `wc -c <'samples/compile.icon'`; then
    echo shar: \"'samples/compile.icon'\" unpacked with wrong size!
fi
# end of 'samples/compile.icon'
fi
if test -f 'samples/compile.mask' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'samples/compile.mask'\"
else
echo shar: Extracting \"'samples/compile.mask'\" \(1997 characters\)
sed "s/^X//" >'samples/compile.mask' <<'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,0x00F8,
X	0x0000,0x0000,0x0000,0x00FC,
X	0x0000,0x0000,0x0000,0x01FC,
X	0x0000,0x0000,0x0000,0x01FC,
X	0x03FF,0xC000,0x0000,0x79F8,
X	0x03FF,0xC000,0x0000,0x7C10,
X	0x03FF,0xC000,0x0000,0x7C00,
X	0x03FF,0xC000,0x0000,0x7800,
X	0x03FF,0xC000,0x0000,0x3800,
X	0x03FF,0xC000,0x0000,0x0000,
X	0x03FF,0xC000,0x0001,0x8000,
X	0x03FF,0xC000,0x0013,0xC000,
X	0x03FF,0xC000,0x0023,0xC000,
X	0x03FF,0xC000,0x0041,0xC000,
X	0x03FF,0xC000,0x0080,0x0000,
X	0x03FF,0xC000,0x0370,0x0000,
X	0x0000,0x0000,0x0370,0x0000,
X	0x0000,0x0000,0x0070,0x0000,
X	0x1FFF,0xF800,0x0070,0x0000,
X	0x0FFF,0xF000,0x0070,0x0000,
X	0x07FF,0xE000,0x0070,0x0000,
X	0x03FF,0xC000,0x0070,0x0000,
X	0x01FF,0x8000,0x0070,0x0000,
X	0x00FF,0x0000,0x0070,0x0000,
X	0x007E,0x0000,0x0070,0x0000,
X	0x007E,0x0000,0x0070,0x0000,
X	0x007E,0x0000,0x0070,0x0000,
X	0x007E,0x0000,0x0070,0x0000,
X	0x007E,0x0000,0x0070,0x0000,
X	0x007E,0x0000,0x0070,0x0000,
X	0x007E,0x0000,0x0070,0x0000,
X	0x0FFF,0xFFFF,0xFFF0,0x0000,
X	0x0FFF,0xFFFF,0xFFF0,0x0000,
X	0x0FFF,0xFFFF,0xFFF0,0x0000,
X	0x0FFF,0xFFFF,0xFFF0,0x0000,
X	0x0FFF,0xFFFF,0xFFF0,0x0000,
X	0x0FFF,0xFFF1,0xFFF0,0x0000,
X	0x0FFF,0xFFF1,0xFFF0,0x0000,
X	0x0FFF,0xFFF1,0xFFF0,0x0000,
X	0x0FFF,0xFFFF,0xFFF0,0x0000,
X	0x0FFF,0xFFFF,0xFFF0,0x0000,
X	0x0FFF,0xFFFF,0xFFF0,0x0000,
X	0x0FFF,0xFFFF,0xFFF0,0xFFF0,
X	0x0FFF,0xFFFF,0xE3F0,0xFFF0,
X	0x0FFF,0xFFFF,0xE3F0,0xFFF0,
X	0x0FFF,0xFFFF,0xE3F0,0xFFF0,
X	0x0FFF,0xFFFF,0xFFF0,0xFFF0,
X	0x0FFF,0xFFFF,0xFFF0,0xFFF0,
X	0x0FFF,0xFFFF,0xFFF0,0xFFF0,
X	0x0FFF,0xFFFF,0xFFF0,0xFFF0,
X	0x0FFF,0xFFFF,0xFFF0,0xFFF0,
X	0x0FFF,0xFFFF,0xFFF0,0xFFF0,
X	0x0FFF,0xFFFF,0xFFF0,0xFFF0,
X	0x0FFF,0xFFFF,0xFFF0,0xFFF0,
X	0x0FFF,0xFFFF,0xFFFF,0xFFFC,
X	0x0FFF,0xFFFF,0xFFF0,0x003E,
X	0x0FFF,0xFFFF,0xFFF0,0x007F,
X	0x0FFF,0xFFFF,0xFFF0,0x007F,
X	0x0FFF,0xFFFF,0xFFF0,0x007F,
X	0x0FFF,0xFFFF,0xFFF0,0x003E,
X	0x0FFF,0xFFFF,0xFFFF,0xFFFC,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000
END_OF_FILE
if test 1997 -ne `wc -c <'samples/compile.mask'`; then
    echo shar: \"'samples/compile.mask'\" unpacked with wrong size!
fi
# end of 'samples/compile.mask'
fi
if test -f 'samples/print.dd' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'samples/print.dd'\"
else
echo shar: Extracting \"'samples/print.dd'\" \(1422 characters\)
sed "s/^X//" >'samples/print.dd' <<'END_OF_FILE'
X#!/usr/local/bin/catcher
X#
X# Print a dropped file with enscript
X
Xlabel "Print A File"
Xicon "printer.icon"
Xicon_mask "printer.mask"
Xoutput 24 by 80
Xsuffix ""
Xmessage "Printing ${file:t}..."
Xcommand {
X   label "Print a file:"
X   command "enscript -q  $file"
X   nonexclusive {
X      label "Options:"
X      choice land {
X         label "Landscape orientation"
X         value "-r"
X         }
X      choice two {
X         label "Two columns"
X         value "-2"
X         }
X      choice trunc {
X         label "Truncate long lines"
X         value "-c"
X         }
X      choice gaudy {
X         label "Gaudy headers"
X         value "-G"
X         default
X         }
X      choice head {
X         label "Omit page headers"
X         value "-B"
X         }
X      choice burst {
X         label "Omit burst page"
X         value "-h"
X         }
X      choice man {
X         label "Manual paper feed"
X         value "-M"
X         }
X      choice copy {
X         label "Copies"
X         parameter numeric 3 1 to 99
X         value "-#${copy.value}"
X         }
X      choice header {
X         label "Header string"
X         parameter text 25
X         value "-b'${header.value}'"
X         }
X      choice font {
X         label "Font"
X         parameter text 25
X         value "-f${font.value}"
X         }
X      choice printer {
X         label "Alternate printer"
X         parameter text 25
X         value "-P${printer.value}"
X         }
X      }
X   }
END_OF_FILE
if test 1422 -ne `wc -c <'samples/print.dd'`; then
    echo shar: \"'samples/print.dd'\" unpacked with wrong size!
fi
# end of 'samples/print.dd'
fi
if test -f 'samples/printer.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'samples/printer.icon'\"
else
echo shar: Extracting \"'samples/printer.icon'\" \(1997 characters\)
sed "s/^X//" >'samples/printer.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,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,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x03FF,0xFFFF,0xFFF0,0x0000,
X	0x0C00,0x0000,0x0010,0x0000,
X	0x1000,0x0000,0x001F,0xFFFE,
X	0x2000,0x0000,0x0010,0x0002,
X	0x4000,0x0000,0x0010,0x0002,
X	0x4000,0x0000,0x0010,0x0002,
X	0x8000,0x0000,0x0010,0x0002,
X	0x8000,0x0000,0x0010,0x0002,
X	0x8000,0x0000,0x0010,0x0002,
X	0x8000,0x0000,0x0010,0x0002,
X	0x8000,0x0000,0x0010,0x0002,
X	0x4000,0x0000,0x0010,0x0002,
X	0x4000,0x0000,0x0010,0x0002,
X	0x2000,0x0000,0x0010,0x0002,
X	0x1000,0x0000,0x001F,0xFFFE,
X	0x0C00,0x0000,0x0010,0x0002,
X	0x03FF,0xFFFF,0xFFF0,0x0002,
X	0x0080,0x0000,0x0000,0x0002,
X	0x0080,0x0000,0x0000,0x0002,
X	0x0080,0x0000,0x0000,0x0002,
X	0x00FF,0xFFFF,0xFFFF,0xFFFE,
X	0x0080,0x0000,0x0000,0x0002,
X	0x0080,0x0000,0x0000,0x0002,
X	0x0080,0x0000,0x0000,0x0002,
X	0x00FF,0xFFFF,0xFFFF,0xFFFE,
X	0x00AA,0xAAAA,0xAAAA,0xAAAA,
X	0x00AA,0xAAAA,0xAAAA,0xAAAA,
X	0x00AA,0xAAAA,0xAAAA,0xAAAA,
X	0x00FF,0xFFFF,0xFFFF,0xFFFE,
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,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,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000
END_OF_FILE
if test 1997 -ne `wc -c <'samples/printer.icon'`; then
    echo shar: \"'samples/printer.icon'\" unpacked with wrong size!
fi
# end of 'samples/printer.icon'
fi
if test -f 'samples/printer.mask' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'samples/printer.mask'\"
else
echo shar: Extracting \"'samples/printer.mask'\" \(1997 characters\)
sed "s/^X//" >'samples/printer.mask' <<'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,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,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x03FF,0xFFFF,0xFFF0,0x0000,
X	0x0FFF,0xFFFF,0xFFF0,0x0000,
X	0x1FFF,0xFFFF,0xFFFF,0xFFFE,
X	0x3FFF,0xFFFF,0xFFFF,0xFFFE,
X	0x7FFF,0xFFFF,0xFFFF,0xFFFE,
X	0x7FFF,0xFFFF,0xFFFF,0xFFFE,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFE,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFE,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFE,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFE,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFE,
X	0x7FFF,0xFFFF,0xFFFF,0xFFFE,
X	0x7FFF,0xFFFF,0xFFFF,0xFFFE,
X	0x3FFF,0xFFFF,0xFFFF,0xFFFE,
X	0x1FFF,0xFFFF,0xFFFF,0xFFFE,
X	0x0FFF,0xFFFF,0xFFFF,0xFFFE,
X	0x03FF,0xFFFF,0xFFFF,0xFFFE,
X	0x00FF,0xFFFF,0xFFFF,0xFFFE,
X	0x00FF,0xFFFF,0xFFFF,0xFFFE,
X	0x00FF,0xFFFF,0xFFFF,0xFFFE,
X	0x00FF,0xFFFF,0xFFFF,0xFFFE,
X	0x00FF,0xFFFF,0xFFFF,0xFFFE,
X	0x00FF,0xFFFF,0xFFFF,0xFFFE,
X	0x00FF,0xFFFF,0xFFFF,0xFFFE,
X	0x00FF,0xFFFF,0xFFFF,0xFFFE,
X	0x00FF,0xFFFF,0xFFFF,0xFFFE,
X	0x00FF,0xFFFF,0xFFFF,0xFFFE,
X	0x00FF,0xFFFF,0xFFFF,0xFFFE,
X	0x00FF,0xFFFF,0xFFFF,0xFFFE,
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,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,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000
END_OF_FILE
if test 1997 -ne `wc -c <'samples/printer.mask'`; then
    echo shar: \"'samples/printer.mask'\" unpacked with wrong size!
fi
# end of 'samples/printer.mask'
fi
if test -f 'samples/sample.dd' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'samples/sample.dd'\"
else
echo shar: Extracting \"'samples/sample.dd'\" \(922 characters\)
sed "s/^X//" >'samples/sample.dd' <<'END_OF_FILE'
X# Sample application to illustrate options
X#
Xlabel "Options Sampler"
Xcommand {
X	label "Play with options:"
X	command "echo text: $t_opt numeric: $n_opt exclusive: $e_opt ${e_opt.value} nonexclusive: $c1 $c2 ${c2.value} $c3 ${c3.value}"
X	text t_opt {
X		label "Text field:"
X		text 20
X		}
X	text n_opt {
X		label "Numeric field:"
X		numeric 5 -10 to 10
X		}
X	exclusive e_opt {
X		label "Exclusive option:"
X		choice {
X			label "Choice 1"
X			value "1"
X			}
X		choice {
X			label "Choice 2"
X			value "2"
X			parameter text 10
X			default
X			}
X		choice {
X			label "Choice 3"
X			value "3"
X			parameter numeric 5 20 to 30
X			}
X		}
X	nonexclusive {
X		label "Nonexclusive option:"
X		choice c1 {
X			label "Choice 1"
X			value "1"
X			}
X		choice c2 {
X			label "Choice 2"
X			value "2"
X			parameter text 10 init "Some text"
X			default
X			}
X		choice c3 {
X			label "Choice 3"
X			value "3"
X			parameter numeric 5 20 to 30 init 25
X			default
X			}
X		}
X	}
END_OF_FILE
if test 922 -ne `wc -c <'samples/sample.dd'`; then
    echo shar: \"'samples/sample.dd'\" unpacked with wrong size!
fi
# end of 'samples/sample.dd'
fi
if test -f 'samples/sort.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'samples/sort.icon'\"
else
echo shar: Extracting \"'samples/sort.icon'\" \(1997 characters\)
sed "s/^X//" >'samples/sort.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,0xFFFF,0xFFFF,0x0000,
X	0x0000,0x8000,0x0001,0x0000,
X	0x0000,0xBFFF,0xC001,0x0000,
X	0x0000,0x8000,0x0001,0x0000,
X	0x0000,0xBC00,0x0001,0x0000,
X	0x0000,0x8000,0x0001,0x0000,
X	0x0000,0xBFE0,0x0001,0x0000,
X	0x0000,0x8000,0x0001,0x0000,
X	0x0000,0xBFFF,0xFE01,0x0000,
X	0x0000,0x8000,0x0001,0x0000,
X	0x0000,0xBC00,0x0001,0x0000,
X	0x0000,0x8000,0x0001,0x0000,
X	0x0000,0xBFFC,0x0001,0x0000,
X	0x0000,0x8000,0x0001,0x0000,
X	0x0000,0xBE00,0x0001,0x0000,
X	0x0000,0x8000,0x0001,0x0000,
X	0x0000,0xBFE0,0x0001,0x0000,
X	0x0000,0x8000,0x0001,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0007,0xE000,0x0000,
X	0x0000,0x0004,0x2000,0x0000,
X	0x0000,0x0004,0x2000,0x0000,
X	0x0000,0x0004,0x2000,0x0000,
X	0x0000,0x0004,0x2000,0x0000,
X	0x0000,0x0004,0x2000,0x0000,
X	0x0000,0x0004,0x2000,0x0000,
X	0x0000,0x0004,0x2000,0x0000,
X	0x0000,0x00FC,0x3F00,0x0000,
X	0x0000,0x0040,0x0200,0x0000,
X	0x0000,0x0020,0x0400,0x0000,
X	0x0000,0x0010,0x0800,0x0000,
X	0x0000,0x0008,0x1000,0x0000,
X	0x0000,0x0004,0x2000,0x0000,
X	0x0000,0x0002,0x4000,0x0000,
X	0x0000,0x0001,0x8000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0x8000,0x0001,0x0000,
X	0x0000,0xBC00,0x0001,0x0000,
X	0x0000,0x8000,0x0001,0x0000,
X	0x0000,0xBC00,0x0001,0x0000,
X	0x0000,0x8000,0x0001,0x0000,
X	0x0000,0xBE00,0x0001,0x0000,
X	0x0000,0x8000,0x0001,0x0000,
X	0x0000,0xBFE0,0x0001,0x0000,
X	0x0000,0x8000,0x0001,0x0000,
X	0x0000,0xBFE0,0x0001,0x0000,
X	0x0000,0x8000,0x0001,0x0000,
X	0x0000,0xBFFC,0x0001,0x0000,
X	0x0000,0x8000,0x0001,0x0000,
X	0x0000,0xBFFF,0xC001,0x0000,
X	0x0000,0x8000,0x0001,0x0000,
X	0x0000,0xBFFF,0xFE01,0x0000,
X	0x0000,0x8000,0x0001,0x0000,
X	0x0000,0xFFFF,0xFFFF,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 <'samples/sort.icon'`; then
    echo shar: \"'samples/sort.icon'\" unpacked with wrong size!
fi
# end of 'samples/sort.icon'
fi
if test -f 'samples/sort.mask' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'samples/sort.mask'\"
else
echo shar: Extracting \"'samples/sort.mask'\" \(1997 characters\)
sed "s/^X//" >'samples/sort.mask' <<'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,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0007,0xE000,0x0000,
X	0x0000,0x0007,0xE000,0x0000,
X	0x0000,0x0007,0xE000,0x0000,
X	0x0000,0x0007,0xE000,0x0000,
X	0x0000,0x0007,0xE000,0x0000,
X	0x0000,0x0007,0xE000,0x0000,
X	0x0000,0x0007,0xE000,0x0000,
X	0x0000,0x0007,0xE000,0x0000,
X	0x0000,0x00FF,0xFF00,0x0000,
X	0x0000,0x007F,0xFE00,0x0000,
X	0x0000,0x003F,0xFC00,0x0000,
X	0x0000,0x001F,0xF800,0x0000,
X	0x0000,0x000F,0xF000,0x0000,
X	0x0000,0x0007,0xE000,0x0000,
X	0x0000,0x0003,0xC000,0x0000,
X	0x0000,0x0001,0x8000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,0x0000,
X	0x0000,0xFFFF,0xFFFF,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 <'samples/sort.mask'`; then
    echo shar: \"'samples/sort.mask'\" unpacked with wrong size!
fi
# end of 'samples/sort.mask'
fi
echo shar: End of archive 1 \(of 5\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 2 3 4 5 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 5 archives.
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0

--
dan
----------------------------------------------------
O'Reilly && Associates   argv@sun.com / argv@ora.com
Opinions expressed reflect those of the author only.