From: dcs@neutron.chem.yale.edu (Dave Schweisguth)
Subject: SGI Workspace support for Elm
Organization: Yale University
X-Newsreader: TIN [version 1.1 PL6]
Date: Sat, 7 Nov 1992 00:41:53 GMT

This is not deja vu, it's a repost. Enclosed is a Workspace support
package for the very cool but until now "non-graphical" Elm mailer.

Tom Barton of SGI found a problem with the install procedure: if you do a
'make install-personal' and one of the _system-wide_ ftr directories has no
ftr files, you lose. The problem is in SGI's
/usr/lib/filetype/Makefile.personal. A fixed version is now included and
automatically used by the top-level Makefile. So here we go again:

#! /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 shell archive."
# Contents:  elm-ws-support elm-ws-support/Makefile
#   elm-ws-support/Makefile.personal elm-ws-support/README
#   elm-ws-support/README.tag elm-ws-support/elm.ftr
#   elm-ws-support/elm.wsrc
# Wrapped by dcs@neutron on Fri Nov  6 14:50:44 1992
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test ! -d 'elm-ws-support' ; then
    echo shar: Creating directory \"'elm-ws-support'\"
    mkdir 'elm-ws-support'
fi
if test -f 'elm-ws-support/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'elm-ws-support/Makefile'\"
else
echo shar: Extracting \"'elm-ws-support/Makefile'\" \(2013 characters\)
sed "s/^X//" >'elm-ws-support/Makefile' <<'END_OF_FILE'
X# Makefile for sgi-workspace support installation.
X
X# SGI-proofing
X
XSHELL	= /bin/sh
X
X# Directories for system-wide installation
X
XDEST	= /usr/local/bin
XFTDIR	= /usr/lib/filetype
XWSDIR	= /usr/lib/workspace
X
X# Directories for personal installation
X
XPDEST	= $(HOME)/bin
XPFTDIR	= $(HOME)/.workspace
XPWSDIR	= $(HOME)/.workspace
X
X# Etc.
X
XELMTAG	= 780000
X
X# Targets
X
Xdefault:
X	@echo "There's nothing to compile. 'make' one of these targets:"
X	@echo ""
X	@echo "  install-system"
X	@echo "  remove-system"
X	@echo "  install-personal"
X	@echo "  remove-personal"
X	@echo ""
X
Xinstall-system: 		$(FTDIR)/workspace.ctr tag-system $(WSDIR)/elm.wsrc
X
X$(FTDIR)/workspace.ctr:		$(FTDIR)/local/elm.ftr
X				cd $(FTDIR); make
X
X$(FTDIR)/local/elm.ftr:		elm.ftr
X				if [ ! -d $(FTDIR)/local ]; then mkdir $(FTDIR)/local; fi
X				cp elm.ftr $(FTDIR)/local/elm.ftr
X
Xtag-system:			$(DEST)/elm
X				/usr/sbin/tag $(ELMTAG) $(DEST)/elm
X
X$(WSDIR)/elm.wsrc:		always
X				sed s@DEST@$(DEST)@ elm.wsrc > $(WSDIR)/elm.wsrc
X
Xremove-system:
X				rm -f $(FTDIR)/local/elm.ftr $(WSDIR)/elm.wsrc
X				cd $(FTDIR); make
X				/usr/sbin/tag -c $(DEST)/elm
X
Xinstall-personal: 		$(PFTDIR)/workspace.ctr tag-personal $(PWSDIR)/database
X
X$(PFTDIR)/workspace.ctr:	$(PFTDIR)/local/elm.ftr
X				cd $(PFTDIR); make -f $(PWD)/Makefile.personal
X
X$(PFTDIR)/local/elm.ftr:	elm.ftr
X				if [ ! -d $(PFTDIR)/local ]; then mkdir $(PFTDIR)/local; fi
X				cp elm.ftr $(PFTDIR)/local/elm.ftr
X
Xtag-personal:			$(PDEST)/elm
X				/usr/sbin/tag $(ELMTAG) $(PDEST)/elm
X
X$(PWSDIR)/database:		always
X				sed s@DEST@$(PDEST)@ elm.wsrc >> $(PWSDIR)/database
X
Xremove-personal:
X				rm -f $(PFTDIR)/local/elm.ftr
X				if [ -d $(PFTDIR)/local -a ! -r $(PFTDIR)/local/* ]; then rmdir $(PFTDIR)/local; fi
X				if [ -r $(PFTDIR)/default/* -o -r $(PFTDIR)/system/* -o -r $(PFTDIR)/install/* -o -r $(PFTDIR)/local/* ]; then \
X				  cd $(PFTDIR); make -f $(PWD)/Makefile.personal; \
X				else \
X				  cd $(PFTDIR); make -f $(PWD)/Makefile.personal clean; \
X				fi
X				/usr/sbin/tag -c $(PDEST)/elm
X
Xalways:
END_OF_FILE
if test 2013 -ne `wc -c <'elm-ws-support/Makefile'`; then
    echo shar: \"'elm-ws-support/Makefile'\" unpacked with wrong size!
fi
# end of 'elm-ws-support/Makefile'
fi
if test -f 'elm-ws-support/Makefile.personal' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'elm-ws-support/Makefile.personal'\"
else
echo shar: Extracting \"'elm-ws-support/Makefile.personal'\" \(1669 characters\)
sed "s/^X//" >'elm-ws-support/Makefile.personal' <<'END_OF_FILE'
X#
X# Run this makefile from within your $HOME/.workspace in order to rebuild
X# the compiled type rule (*.ctr) files from the file type rule (*.ftr)
X# files.
X#
X# Ftr files which locally override:          Should be put into:
X#    Locally written file type rule files        $HOME/.workspace/local
X#    Vendor written file type rule files         $HOME/.workspace/install
X#    Standard SGI file type rules                $HOME/.workspace/system
X#    The basic set of file type rules            $HOME/.workspace/default
X#
X# Good luck and happy .ftr'ing!
X#
X
XSHELL= /bin/sh
XFTR= /usr/sbin/ftr
XTARGETS = workspace.ctr 
X
Xdefault all:	$(TARGETS)
X	@echo " "
X	@echo Done building your personal workspace.ctr file
X
Xworkspace.ctr:	always
X	(cd /usr/lib/filetype/local; if [ -r *.ftr ]; then $(FTR) *.ftr -o /tmp/local.ctr; fi)
X	(cd /usr/lib/filetype/install; if [ -r *.ftr ]; then $(FTR) *.ftr -o /tmp/install.ctr; fi)
X	(cd /usr/lib/filetype/system; $(FTR) *.ftr -o /tmp/system.ctr)
X	(cd /usr/lib/filetype/default; $(FTR) *.ftr -o /tmp/default.ctr)
X	@dirs=""; \
X	for i in . \
X		local \
X		/tmp/local.ctr \
X		install \
X		/tmp/install.ctr \
X		system  \
X		/tmp/system.ctr  \
X		default \
X		/tmp/default.ctr; \
X		do \
X		if [ -d $${i} ]; then \
X			for j in $${i}/*.ftr ; \
X				do \
X				if [ -r $${j} ] ; then \
X					dirs="$${dirs} $${j}"; \
X				fi ; \
X			done; \
X		else  case $${i} in \
X			*.ctr) if [ -r $${i} ]; then dirs="$${dirs} $${i}"; fi ;; \
X		     esac; \
X		fi; \
X	done; \
X	echo /usr/sbin/ftr $${dirs} -o workspace.ctr ; \
X	rm -f $@; \
X	/usr/sbin/ftr $${dirs} -o $@
X	rm -f /tmp/local.ctr /tmp/install.ctr /tmp/system.ctr /tmp/default.ctr
X
Xalways:
Xclean clobber :
X	rm -f $(TARGETS)
END_OF_FILE
if test 1669 -ne `wc -c <'elm-ws-support/Makefile.personal'`; then
    echo shar: \"'elm-ws-support/Makefile.personal'\" unpacked with wrong size!
fi
# end of 'elm-ws-support/Makefile.personal'
fi
if test -f 'elm-ws-support/README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'elm-ws-support/README'\"
else
echo shar: Extracting \"'elm-ws-support/README'\" \(3092 characters\)
sed "s/^X//" >'elm-ws-support/README' <<'END_OF_FILE'
XThis package links Elm with Silicon Graphics' Workspace.
X
XRequirements:
X
X  IRIX 4.0.1 or greater
X  Elm
X
XInstallation:
X
X  1) Build Elm and install it either publically or in your own binaries
X     directory.
X  2) Look at the Makefile and make sure that the directories near the top are
X     correct. (They should be, except perhaps for the location of Elm.)
X  3) To install in your own .workspace directory, 'make install-personal'.
X     To install publically, 'su' to root and 'make install-system'.
X
X  Three things happen during installation: 1) three new icons are added to
X  the Workspace, 2) the Elm executable is 'tag'ged so the Workspace can
X  identify it, and 3) the Elm and mailbox icons are moved to the blue
X  Workspace window for easy access.
X
XRemoval:
X
X  If you don't like it, do 'make remove-system' or 'make remove-personal'.
X
XUsage:
X
X  The Elm icon behaves much like the Mail icon. The mailbox and mailfile
X  icons have been changed to use Elm rather than Mail. Here are the details:
X
X  The Elm icon
X  ------------
X
X  Open opens an Elm window.
X  Alt-open prompts you for a recipient and opens an Elm window in send-only
X    mode.
X  Dropping a mailfile onto Elm opens an Elm window for that mailfile.
X  Dropping a non-mailfile onto Elm prompts you for a recipient and sends the
X    file without opening a window.
X
X  The mailbox icon
X  ----------------
X
X  Open runs a mailbox. When mail arrives and you click on the mailbox, an Elm
X    an Elm window will open.
X  Alt-open prompts you for an alternative mailbox command. This isn't
X    too useful, but you can fool with the latitude and longitude.
X
X  The mailfile icon
X  -----------------
X
X  Open opens an Elm window for that mailfile.
X  Alt-open opens an editor window for that mailfile.
X  Dropping a mailfile onto another mailfile concatenates the files.
X  Dropping a non-mailfile onto a mailfile doesn't do anything.
X  Printing a mailfile sends it to the printer. Zowie!
X
X  Note that you can "open" an icon by double-clicking on it or selecting it
X  and choosing "Open" from the right-button popup, and you can "alt-open" an
X  icon by holding down Alt and doing either of the foregoing. You can drop
X  multiple icons on another icon by selecting the icons you want to drop,
X  then dragging and dropping, or by selecting the icons you want to drop and
X  the icon you want to drop them on, then opening the group. Sensible things
X  will usually happen when you do any of the above.
X
XNotes:
X
X  /usr/lib/filetype/Makefile.personal doesn't work if /usr/lib/filetype/local
X  is empty. This package uses a fixed version of that file.
X
XMiscellany:
X
X  1) No rights reserved.
X
X  2) This package might destroy mail critical to your career. I take
X     absolutely no responsibility whatsoever for that sort of thing.
X
X  3) Large chunks of the .ftr file are copied straight out of what is
X     probably copyrighted SGI software. I trust they'll be cool about it.
X
X  4) Direct all correspondence, questions, etc. to Dave Schweisguth, aka
X     dcs@neutron.chem.yale.edu. I would like to hear about problems or
X     improvements.
X
X  5) Enjoy.
END_OF_FILE
if test 3092 -ne `wc -c <'elm-ws-support/README'`; then
    echo shar: \"'elm-ws-support/README'\" unpacked with wrong size!
fi
# end of 'elm-ws-support/README'
fi
if test -f 'elm-ws-support/README.tag' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'elm-ws-support/README.tag'\"
else
echo shar: Extracting \"'elm-ws-support/README.tag'\" \(1480 characters\)
sed "s/^X//" >'elm-ws-support/README.tag' <<'END_OF_FILE'
XHere's the note I got from the SGI workspace folk (workspacetags@sgi.com):
X
X===============================================================================
X
XFrom: lindi@rugrat.esd.sgi.com (Lindi Lake)
XDate: Fri, 30 Oct 1992 14:47:43 -0800
XIn-Reply-To: dcs@neutron.chem.yale.edu (Dave Schweisguth)
X        "Requesting tag(s) for Elm mail package" (Oct 22,  9:32am)
XTo: dcs (Dave Schweisguth)
XSubject: Re: Requesting tag(s) for Elm mail package
X
XHi Dave,
X
XI have given you tag #0078-XXXX.  /the X's can be any number 0-9 or any
Xletter A-F.  If I can be of any other help please let me know.
X
XLindi
X
XOn Oct 22,  9:32am, Dave Schweisguth wrote:
X> Subject: Requesting tag(s) for Elm mail package
X> Hi (Ms. Zeller?),
X>
X> I have set up an ftr file for the public-domain Elm package. I'm currently
X> using Octal: 0105114115  Decimal: 18126925  Hex: 0x114984d for the tag (the
X> octal number spells out e-l-m) but it couldn't hurt to go official. I'd like
X> to know if anyone has requested a block of tags for Elm. If not, I'd like to
X> request one myself. I presently only need a single tag, but Elm includes a
X> dozen or so executables so it couldn't hurt to leave room for expansion.
X>
X> Thanks,
X>
X> --
X> | Dave Schweisguth   Yale MB&B & Chemistry   Net: dcs@neutron.chem.yale.edu |
X> | Lab phone: 203-432-5208     Fax: 203-432-6144    Home phone: 203-624-3866 |
X
X===============================================================================
X
XI'm using 780000 for the Elm executable.
END_OF_FILE
if test 1480 -ne `wc -c <'elm-ws-support/README.tag'`; then
    echo shar: \"'elm-ws-support/README.tag'\" unpacked with wrong size!
fi
# end of 'elm-ws-support/README.tag'
fi
if test -f 'elm-ws-support/elm.ftr' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'elm-ws-support/elm.ftr'\"
else
echo shar: Extracting \"'elm-ws-support/elm.ftr'\" \(2791 characters\)
sed "s/^X//" >'elm-ws-support/elm.ftr' <<'END_OF_FILE'
XTYPE elmExecutable
X    MATCH	tag == 780000;
X    LEGEND	Elm Mail command
X    SUPERTYPE	Executable
X    CMD OPEN    if [ "$RESTTYPE" = "MailFile" ]
X                then
X                    for i in $REST
X                    do
X			xwsh -name Elm -e $LEADER -f $i
X                    done
X                elif [ -n "$REST" ]
X                then
X    		    launch -m 'To whom would you like to send the file(s)?' -h "cat $REST | elm -s \"$SELECTED\"" -t "> /dev/null"
X                else
X                    xwsh -name Elm -e $LEADER
X                fi
X    CMD ALTOPEN	launch -m 'To whom would you like to send a message?' -h 'xwsh -name Elm -e /usr/local/bin/elm'
X    CMD DROP	if [ "$SELECTEDTYPE" = "MailFile" ]
X		then
X		    for i in $SELECTED
X		    do
X    		    	xwsh -name Elm -e $TARGET -f $i
X		    done
X		else
X    		    launch -m 'To whom would you like to send the file(s)?' -h "cat $SELECTED | elm -s \"$SELECTED\"" -t "> /dev/null"
X		fi
X    ICON	{
X        if (opened) {
X            include("/usr/lib/filetype/iconlib/generic.exec.open.fti");
X        } else {
X            include("/usr/lib/filetype/iconlib/generic.exec.closed.fti");
X        }
X        include("/usr/lib/filetype/system/iconlib/MailExecutable.fti");
X    }
X
XTYPE MailBoxExecutable
X    MATCH	tag == 0x101a;
X    LEGEND	Mailbox
X    SUPERTYPE	Executable
X    CMD OPEN	$LEADER -L 45 -M 75 -m "xwsh -xrm XWsh\*autoFork:false -name Elm -e /usr/local/bin/elm"
X    CMD ALTOPEN	launch -c $LEADER $REST -L 45 -M 75 -m \"xwsh -xrm XWsh\\\*autoFork:false -name Elm -e /usr/local/bin/elm\"
X    BOUNDS	-155, -260, 285, 180
X    ICON	{
X        include("/usr/lib/filetype/system/iconlib/mailbox.background.fti");
X	if (opened) {
X	    include("/usr/lib/filetype/system/iconlib/mailbox.open.fti");
X	} else {
X	    include("/usr/lib/filetype/system/iconlib/mailbox.closed.fti");
X	}
X	include("/usr/lib/filetype/system/iconlib/mailbox.shell.fti");
X	if (opened) {
X	    include("/usr/lib/filetype/system/iconlib/mailbox.flag.up.fti");
X	} else {
X	    include("/usr/lib/filetype/system/iconlib/mailbox.flag.down.fti");
X	}
X    }
X
XTYPE MailFile
X    MATCH	ascii && string(0,5) == "From ";
X    LEGEND	mail file
X    SUPERTYPE	Ascii
X    CMD OPEN	for i in $LEADER $REST; do xwsh -name Elm -e elm -f $i; done
X    CMD ALTOPEN	$WINEDITOR $LEADER $REST
X    CMD DROP	if [ "$SELECTEDTYPE" = "MailFile" ]
X		then
X		    cat $SELECTED >> $TARGET
X		else
X		    inform "Non-mail files cannot be appended to mail files."
X		fi
X    CMD PRINT	routeprint -g -t $LEADERTYPE $LEADER $REST
X    ICON	{
X        include("/usr/lib/filetype/system/iconlib/MailFile.shadow.fti");
X        if (opened) {
X            include("/usr/lib/filetype/system/iconlib/MailFile.open.fti");
X        } else {
X            include("/usr/lib/filetype/system/iconlib/MailFile.closed.fti");
X        }
X    }
END_OF_FILE
if test 2791 -ne `wc -c <'elm-ws-support/elm.ftr'`; then
    echo shar: \"'elm-ws-support/elm.ftr'\" unpacked with wrong size!
fi
# end of 'elm-ws-support/elm.ftr'
fi
if test -f 'elm-ws-support/elm.wsrc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'elm-ws-support/elm.wsrc'\"
else
echo shar: Extracting \"'elm-ws-support/elm.wsrc'\" \(103 characters\)
sed "s/^X//" >'elm-ws-support/elm.wsrc' <<'END_OF_FILE'
XDEST/elm 0 450 651 0 719760158 elmExecutable
X/usr/sbin/mailbox 0 570 651 0 718653300 MailBoxExecutable
END_OF_FILE
if test 103 -ne `wc -c <'elm-ws-support/elm.wsrc'`; then
    echo shar: \"'elm-ws-support/elm.wsrc'\" unpacked with wrong size!
fi
# end of 'elm-ws-support/elm.wsrc'
fi
echo shar: End of shell archive.
exit 0

Cheers,

--
| Dave Schweisguth   Yale MB&B & Chemistry   Net: dcs@neutron.chem.yale.edu |
| Lab phone: 203-432-5208     Fax: 203-432-6144    Home phone: 203-624-3866 |