OpenBSD-4.6/gnu/usr.bin/lynx/samples/keepviewer

#!/bin/sh
# This script can be invoked as a wrapper for an external viewer by lynx, e.g., 
# given this line in lynx.cfg
#	XLOADIMAGE_COMMAND:keepviewer xli %s &
# it will invoke xli on a hardlink to the file (which is assumed to be in the
# temporary directory created by lynx), and clean up when the viewer exits.
#
# Parameters:
#	$1 is viewer
#	$2 is filename
if test $# = 2 ; then
	chmod 600 $2
	myfile=`echo $2 | sed -e 's@\(.*/tmp/\)\([^/]*/\)\?\(.*\)@\1my\3@'`
	ln $2 $myfile || exit 1
	trap "rm -f $myfile" 0 1 2 5 15
	eval $1 $myfile
else
	echo "Usage: keepviewer <viewer> <filename>"
	exit 1
fi