From: Andrew DeFaria Date: Mon, 10 Aug 2020 23:25:11 +0000 (-0700) Subject: Updated setbg to properly handle the case when the monitor is off X-Git-Url: https://defaria.com/gitweb/?a=commitdiff_plain;h=361e59dd612171a0f4a72ccbd49d1041185a5df0;p=clearscm.git Updated setbg to properly handle the case when the monitor is off --- diff --git a/bin/setbg b/bin/setbg index 55f2d02..93a339a 100755 --- a/bin/setbg +++ b/bin/setbg @@ -145,8 +145,20 @@ sub fillPictures () { 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" @@ -156,15 +168,10 @@ sub updateSetBG ($$) { 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 @@ -238,37 +245,39 @@ while () { 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;