#! /bin/csh -f
#
# lfg: Run LFG in the Medley system
#
# Syntax: lfg [-greet file] [-nogreet] [-raw]
#	[-geometry pixelgeometry] [-display xdisplay-device] [-t xtimeout] [-m Mbytesmemory] 
#	[-vmem savevmemfilename] [sysoutfilename]
#
# Put where the LFG system is installed here.  Nothing else needs changing
set lfghome=YOURLFGDIRECTORY
#
# LDEKBDTYPE is type of keyboard.  Values on Sun can be 
#        SUN3, SUN4, SUN5, or X from X-terminal

onintr cleanup
limit coredumpsize 0

set progdir = `expr match $0 "\(.*\)/[^/]"`

if (! $?LFGHOME) then
  if ($?lfghome) then
    setenv LFGHOME $lfghome
  else if ($progdir == "") then
    setenv LFGHOME `pwd`
  else
    setenv LFGHOME $progdir
  endif
endif

set geometry="-g 1154x913"
set nogreet = 0
set mem=32
if !($?LDEFILETIMEOUT) then
   setenv LDEFILETIMEOUT 60
endif
# I'm not sure what this does, but assume a fairly new workstation
set xtimeout=7000
setenv LDESRCESYSOUT "${LFGHOME}/lfg.sysout"

if ($#argv != 0) then
   while ("$1" != "")
      if (`expr index $1 -` == 1) then		
	 # a special keyword has been specified
	 switch ($1)
	    case "-m":
		set mem=$2
		breaksw
	    case "-nogreet":
		setenv NOGREET "nogreet"
		set nogreet = 1
		breaksw
	    case "-greet"
		setenv LDEINIT "$2"
		shift
	    case "-raw":
		set saveddisplay=$DISPLAY
		unsetenv DISPLAY    
		breaksw
	    case "-geometry":
		set geometry="-g $2"
		shift
		breaksw
	    case "-display":
		setenv DISPLAY $2
		shift
		breaksw
	    case "-t":
		set xtimeout=$2
		shift
		breaksw
	    case "-vmem":
		setenv LDEDESTSYSOUT $2
		shift
		breaksw
	    default:
		# anything else is an unknown option
		echo "Uknown option $1"
		breaksw
	 endsw 
      else # not an option so must be a sysout name
	 setenv LDESRCESYSOUT $1
      endif
      shift
   end
else
# no options specified
endif

setenv HOSTNAME `hostname`
if ($?LDEDESTSYSOUT) then
else if (-d /$HOSTNAME/$LOGNAME) then
   setenv LDEDESTSYSOUT /$HOSTNAME/$LOGNAME/medley.vmem
else if (-d ~${LOGNAME}) then
   setenv LDEDESTSYSOUT ~/medley.vmem
else 
   setenv LDEDESTSYSOUT /usr/tmp/medley.vmem
endif

if (! $?LDESRCESYSOUT) then
   setenv LDESRCESYSOUT $LDEDESTSYSOUT
endif

setenv INMEDLEY 1
echo "sysout is " $LDESRCESYSOUT
if ($status) exit

set path = ($LFGHOME $path)
if (! $?LDEINIT && -r ${LFGHOME}/init.lisp) then
  setenv LDEINIT "{dsk}${LFGHOME}/init.lisp"
endif
if ${?DISPLAY} then	 # we are running under X
     lde -m $mem  $geometry -display $DISPLAY \
		-iconbitmap $LFGHOME/lfg.xbm -icontitle "Xerox LFG"
else
     lde -m $mem 
endif
#
# Now we are done, so clean up after ourselves
#
cleanup:

if ${?DISPLAY} then
	# do X cleanup
else if $?saveddisplay then
	setenv DISPLAY $saveddisplay
endif
