summaryrefslogtreecommitdiffstats
path: root/samples/keepviewer
diff options
context:
space:
mode:
Diffstat (limited to 'samples/keepviewer')
-rwxr-xr-xsamples/keepviewer20
1 files changed, 20 insertions, 0 deletions
diff --git a/samples/keepviewer b/samples/keepviewer
new file mode 100755
index 0000000..f5c0b2c
--- /dev/null
+++ b/samples/keepviewer
@@ -0,0 +1,20 @@
+#!/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