xenocara/app/xlockmore/etc/xlockrandimage.pl
2006-11-26 11:07:42 +00:00

29 lines
977 B
Perl

#!/usr/bin/perl
# This is used if the RANDIMAGEFILE switch does not work so instead of:
# xlock -imagefile [ DIRECTORY | FILE ] [other xlock options]
# try
# randimagefile.pl [DIRECTORY | FILE] [other xlock options]
# By the way the typical other xlock options that would be used here are
# -mode [image | puzzle] -install
local($file) = shift(@ARGV);
if ($file eq "") {
print "\nUsage: $0 [DIRECTORY | FILE] [other xlock options]\n";
print "\tother xlock options typically are: -mode [image | puzzle] -install\n";
exit 1;
}
getrandfile();
#printf "xlock -imagefile $file @ARGV\n";
system "xlock -imagefile $file @ARGV";
sub getrandfile {
if (-d $file) { # OK so its not really a file :)
opendir(DIR, $file) || die "Can not open $file";
local(@filenames) = grep(!/^\.\.?$/, readdir(DIR)); # ls but avoid . && ..
closedir(DIR);
srand(time); # use time|$$ if security involved
$file = splice(@filenames, rand @filenames, 1); # pick one
}
}