http://www.jwz.org/xscreensaver/xscreensaver-5.13.tar.gz
[xscreensaver] / hacks / webcollage
index 520e53ae5e9efb423f7a578bc329deb76f62c974..4ec6147148cc29e793817ea98c75b5b0f0831467 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 #
-# webcollage, Copyright (c) 1999-2008 by Jamie Zawinski <jwz@jwz.org>
+# webcollage, Copyright (c) 1999-2011 by Jamie Zawinski <jwz@jwz.org>
 # This program decorates the screen with random images from the web.
 # One satisfied customer described it as "a nonstop pop culture brainbath."
 #
@@ -60,8 +60,8 @@ use bytes;  # Larry can take Unicode and shove it up his ass sideways.
 
 
 my $progname = $0; $progname =~ s@.*/@@g;
-my $version = q{ $Revision: 1.149 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
-my $copyright = "WebCollage $version, Copyright (c) 1999-2008" .
+my $version = q{ $Revision: 1.152 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
+my $copyright = "WebCollage $version, Copyright (c) 1999-2011" .
     " Jamie Zawinski <jwz\@jwz.org>\n" .
     "            http://www.jwz.org/webcollage/\n";
 
@@ -2219,6 +2219,7 @@ sub pick_from_local_dir {
 
   my $v = ($verbose_exec ? "-v" : "");
   my $pick = `xscreensaver-getimage-file $v "$dir"`;
+  $pick = "$dir/$pick" unless ($pick =~ m@^/@s);       # relative path
 
   LOG ($verbose_load, "picked file $pick ($id)");
   return ($id, $pick);
@@ -2709,13 +2710,13 @@ sub url_only_output() {
 #
 ##############################################################################
 
-my $image_ppm   = sprintf ("%s/webcollage-%08x",
+my $image_ppm   = sprintf ("%s/webcollage-%08x.ppm",
                            ($ENV{TMPDIR} ? $ENV{TMPDIR} : "/tmp"),
                            rand(0xFFFFFFFF));
-my $image_tmp1  = sprintf ("%s/webcollage-1-%08x",
+my $image_tmp1  = sprintf ("%s/webcollage-1-%08x.ppm",
                            ($ENV{TMPDIR} ? $ENV{TMPDIR} : "/tmp"),
                            rand(0xFFFFFFFF));
-my $image_tmp2  = sprintf ("%s/webcollage-2-%08x",
+my $image_tmp2  = sprintf ("%s/webcollage-2-%08x.ppm",
                            ($ENV{TMPDIR} ? $ENV{TMPDIR} : "/tmp"),
                            rand(0xFFFFFFFF));
 
@@ -3644,6 +3645,9 @@ sub main() {
       } else {
         error ("local directory path must be set")
       }
+    } elsif ($_ eq "-fps") {
+      # -fps only works on MacOS, via "webcollage-cocoa.m".
+      # Ignore it if passed to this script in an X11 context.
     } elsif ($_ eq "-debug" || $_ eq "--debug") {
       my $which = shift @ARGV;
       my @rest = @search_methods;
@@ -3667,7 +3671,8 @@ sub main() {
               "[-root] [-display dpy] [-verbose] [-debug which]\n" .
         "\t\t  [-timeout secs] [-delay secs] [-size WxH]\n" .
         "\t\t  [-no-output] [-urls-only] [-imagemap filename]\n" .
-        "\t\t  [-filter cmd] [-filter2 cmd] [-background color]\n" .
+        "\t\t  [-background color] [-opacity f]\n" .
+        "\t\t  [-filter cmd] [-filter2 cmd]\n" .
         "\t\t  [-dictionary dictionary-file] [-http-proxy host[:port]]\n" .
         "\t\t  [-driftnet [driftnet-program-and-args]]\n" .
         "\t\t  [-directory local-image-directory]\n" .