http://ftp.aanet.ru/pub/Linux/X11/apps/xscreensaver-2.31.tar.gz
[xscreensaver] / hacks / vidwhacker
index 7bbc4079b920fbadd506fa1d78107ad44e8fed9e..4652aab4d48f7852f399280255f455687d237288 100755 (executable)
@@ -274,7 +274,7 @@ main() {
 
   getargs $@
 
-  trap my_trap 0 1 2 3 6 9 13
+  trap my_trap 0 1 2 3 6 9 13 15
 
   if [ "$use_stdin" = true ]; then
    cat > $tmp_ppm0
@@ -308,8 +308,18 @@ main() {
       if [ -s $tmp_ppm2 ]; then
         if [ "$verbose" = true ]; then
           echo "launching xv $xvargs $tmp_ppm2" >&2
+         ls -lF $tmp_ppm2
         fi
-        xv $xvargs $tmp_ppm2 &
+
+       mv $tmp_ppm2 $tmp_ppm0
+        xv $xvargs $tmp_ppm0 &
+
+# this doesn't work -- leaves xv processes around, instead of stray xset
+# data.  Sigh.
+#
+#      # cat the file so that we can nuke it without racing against xv.
+#        cat $tmp_ppm2 | xv $xvargs - &
+
         pid=$!
       fi
     fi
@@ -324,4 +334,4 @@ main() {
 main $@
 
 # to find stray xv data:
-# xwininfo -root -children|grep 'xv image comments' | awk '{print $1}'
+# xwininfo -root -children|grep 'xv image comments' | awk '{print "xkill -id ", $1}'