62dc94e5c9
From https://web.archive.org/web/20040722180350/http://nis-www.lanl.gov/~mgh/WindowMaker/wmGrabImage-0.72.tgz
70 lines
1.9 KiB
Perl
Executable file
70 lines
1.9 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
|
|
#
|
|
# Grabs an image on the WWW and resizes it (with antialiasing) down so that it can be
|
|
# displayed in a WindowMaker DockApp.
|
|
|
|
# Need to give it the URL of the image like so;
|
|
#
|
|
# GrabWeather http://whatever.com/image.gif
|
|
#
|
|
|
|
|
|
require "ctime.pl";
|
|
|
|
|
|
#
|
|
# Change to users home directory. We used to dump into /tmp
|
|
# but using home dir instead avoids multiple users interfering
|
|
# with one another. (Yeah, we could "unique-ize" the filenames, but
|
|
# this is easier for now...)
|
|
#
|
|
$home = (getpwuid($<))[7];
|
|
$ok = chdir() || chdir($home);
|
|
|
|
|
|
#
|
|
# Check to see if .wmGrabImage exists.
|
|
# If not, make it and move to it.
|
|
#
|
|
if ( !(-e ".wmGrabImage") ){
|
|
mkdir(".wmGrabImage", 0775);
|
|
}
|
|
chdir(".wmGrabImage");
|
|
|
|
|
|
|
|
|
|
|
|
$URL = $ARGV[0];
|
|
$Geometry = $ARGV[1];
|
|
$ImageName = $URL;
|
|
$ImageName =~ s/.*\/(.*)$/\1/;
|
|
if ($URL =~ /^file:\/\//) {
|
|
|
|
$ImagePath = $URL;
|
|
$ImagePath =~ s+file://(.*)+\1+;
|
|
system("cp $ImagePath $home/.wmGrabImage/$ImageName");
|
|
|
|
} else {
|
|
|
|
|
|
#
|
|
# I think some of these wget command line options may cause problems
|
|
# for some people? Dont know why...
|
|
#
|
|
$GrabCmd = "wget --proxy=off --passive-ftp --tries 0 -q -O $home/.wmGrabImage/$ImageName $URL";
|
|
system "$GrabCmd";
|
|
|
|
}
|
|
|
|
|
|
if (! ($Geometry eq "") ) {
|
|
system "convert -crop $Geometry $home/.wmGrabImage/${ImageName} $home/.wmGrabImage/${ImageName}.tmp.gif" ;
|
|
system "convert -geom 54x54 $home/.wmGrabImage/${ImageName}.tmp.gif ${home}/.wmGrabImage/${ImageName}.tmp.xpm";
|
|
} else {
|
|
system "convert -geom 54x54 $home/.wmGrabImage/${ImageName} ${home}/.wmGrabImage/${ImageName}.tmp.xpm";
|
|
}
|
|
system "cat ${home}/.wmGrabImage/${ImageName}.tmp.xpm | sed -e \"s/Transparent/Black/\" \> ${home}/.wmGrabImage/${ImageName}.xpm; rm ${home}/.wmGrabImage/${ImageName}.tmp.xpm";
|
|
|