#!/bin/sh -

# xrshio - a special-case, simple xrsh that allows stdio
# Steve Kinzler, steve@kinzler.com, Jan 00/Mar 00/Jan 02
# https://kinzler.com/me/home.html#x11

case "$1" in
''|-h)	echo "usage: $0 [ host | - ] command"; exit 1;;
-)	host="$REMOTEHOST";;	# we use REMOTEHOST instead of DISPLAY for
*)	host="$1";;		#   cases like remote desktops
esac; shift

host=`echo "$host" | sed 's/:.*//'`

lhost=${HOST-${HOSTNAME-`(hostname) 2> /dev/null`}}
case "$lhost" in
'')	lhost=`uname -n`;;
esac
case "$lhost" in
'')	lhost=localhost;;
esac

case "$host" in
''|"$lhost"|"$lhost".*|localhost|localhost.*)
		exec /usr/bin/env csh -c "$*";;
*)	case "$RSHCMD" in
# This works, and may be more general, but is very slow propogating X11
# through the ssh chain.
#	*ssh)	exec $RSHCMD "$host" "$*";;
	*ssh)	exec $RSHCMD -q -x "$host" \
		  exec /usr/bin/env csh -c "'setenv DISPLAY :0; $*'";;
#		  exec /usr/bin/env csh -c "'setenv DISPLAY localhost:0; $*'";;
	*)	exec rshp "$host" \
		  exec /usr/bin/env csh -c "'setenv DISPLAY $DISPLAY; $*'";;
	esac;;
esac
