return @images;
} # fillPictures
+sub writeHistory($) {
+ my ($msg) = @_;
-sub updateSetBG ($$) {
+ open my $hist, '>>', "$ENV{HOME}/.$FindBin::Script.hist"
+ or error "Unable to open $ENV{HOME}/.$FindBin::Script.hist for append - $!", 1;
+
+ $msg = localtime() . $msg;
+
+ display $msg, $hist;
+
+ close $hist;
+} # writeHistory
+
+sub updateSetBG($$) {
my ($bgimage, $lockimage) = @_;
open my $setbg, '>', "$ENV{HOME}/.$FindBin::Script"
close $setbg;
- my $msg = localtime() . ":$bgimage";
+ my $msg = ":$bgimage";
$msg .= " lock:$lockimage" if $opts{lockscreen};
- open my $hist, '>>', "$ENV{HOME}/.$FindBin::Script.hist"
- or error "Unable to open $ENV{HOME}/.$FindBin::Script.hist for append - $!", 1;
-
- display $msg, $hist;
-
- close $hist;
+ writeHistory $msg;
return;
} # updateSetBG
my ($status, @output) = Execute("xset q | grep Monitor | awk '{print \$3}'");
- next if $status or $output[0] eq 'Off';
-
- my $cmd = "$setbg $setbgOpts$bgimage\" 2> /dev/null";
-
- ($status, @output) = Execute $cmd;
-
- if ($status) {
- error "Trying to set background - command used \"$cmd\"\n\nOutput\n\n" .
- join "\n", @output;
- $totals{errors}++;
+ if ($status or $output[0] eq 'Off') {
+ writeHistory ":Monitor off, not setting background to $bgimage";
} else {
- $totals{'Images displayed'}++;
- } # if
-
- if ($opts{lockscreen}) {
- $cmd = "$setbg $setLockOpts$lockimage\" 2> /dev/null";
+ my $cmd = "$setbg $setbgOpts$bgimage\" 2> /dev/null";
($status, @output) = Execute $cmd;
- if ($status != 0) {
- error "Trying to set lock screen - command used \"$cmd\"\n\nOutput\n\n" .
+ if ($status) {
+ error "Trying to set background - command used \"$cmd\"\n\nOutput\n\n" .
join "\n", @output;
$totals{errors}++;
} else {
- $totals{'Lock screens displayed'}++;
+ $totals{'Images displayed'}++;
} # if
- } # if
- updateSetBG $bgimage, $lockimage;
+ if ($opts{lockscreen}) {
+ $cmd = "$setbg $setLockOpts$lockimage\" 2> /dev/null";
- displayStats;
+ ($status, @output) = Execute $cmd;
+
+ if ($status != 0) {
+ error "Trying to set lock screen - command used \"$cmd\"\n\nOutput\n\n" .
+ join "\n", @output;
+ $totals{errors}++;
+ } else {
+ $totals{'Lock screens displayed'}++;
+ } # if
+ } # if
+
+ updateSetBG $bgimage, $lockimage;
+
+ displayStats;
+ } # if
$today = YMD;