Changes to certbot scripts
[clearscm.git] / bin / setbg
index 17bdc08..8de93c6 100755 (executable)
--- a/bin/setbg
+++ b/bin/setbg
@@ -63,16 +63,17 @@ contents of the bgdirs incase it has changed and display a new image". This is
 useful for script to be able to alert setbg that something has changed. For
 example, a script named rmbg might look at ~/.setbg to get the name of the
 current background image file and remove it then signal setbg with SIGUSR1 to
 useful for script to be able to alert setbg that something has changed. For
 example, a script named rmbg might look at ~/.setbg to get the name of the
 current background image file and remove it then signal setbg with SIGUSR1 to
-have it re-evaluate the state of bgdirs. 
+have it re-evaluate the state of bgdirs.
 
 Finally setbg will perform the this re-evaluation at midnight everyday. This is
 
 Finally setbg will perform the this re-evaluation at midnight everyday. This is
-useful because we point setbg to look at -bgdirs from Dropbox where Camera 
+useful because we point setbg to look at -bgdirs from Dropbox where Camera
 Uploads is included and new pictures can arrive everyday.
 
 =cut
 
 use strict;
 use warnings;
 Uploads is included and new pictures can arrive everyday.
 
 =cut
 
 use strict;
 use warnings;
+use experimental qw(signatures);
 
 use FindBin;
 use Getopt::Long;
 
 use FindBin;
 use Getopt::Long;
@@ -104,7 +105,7 @@ my %opts = (
 
 my %totals;
 
 
 my %totals;
 
-sub displayStats () {
+sub displayStats() {
   my $statsFile = Logger->new(
     name      => ".$FindBin::Script.stats",
     path      => $ENV{HOME},
   my $statsFile = Logger->new(
     name      => ".$FindBin::Script.stats",
     path      => $ENV{HOME},
@@ -124,7 +125,7 @@ sub displayStats () {
   return;
 } # displayStats
 
   return;
 } # displayStats
 
-sub fillPictures () {
+sub fillPictures($signame = undef) {
   my @images;
 
   $totals{bgdirs} = 0;
   my @images;
 
   $totals{bgdirs} = 0;
@@ -150,28 +151,29 @@ sub fillPictures () {
   return @images;
 } # fillPictures
 
   return @images;
 } # fillPictures
 
-sub writeHistory($) {
-  my ($msg) = @_;
-
+sub writeHistory($msg) {
   open my $hist, '>>', "$ENV{HOME}/.$FindBin::Script.hist"
     or error "Unable to open $ENV{HOME}/.$FindBin::Script.hist for append - $!", 1;
 
   $msg = localtime() . $msg;
 
   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;
+  print $hist "$msg\n";
 
   close $hist;
 } # writeHistory
 
 
   close $hist;
 } # writeHistory
 
-sub updateSetBG($$) {
-  my ($bgimage, $lockimage) = @_;
+sub writeSetBG($filename, $image) {
+  open my $file, '>', $filename
+    or error "Unable to open $filename for writing - $!", 1;
 
 
-  open my $setbg, '>', "$ENV{HOME}/.$FindBin::Script"
-    or error "Unable to open $ENV{HOME}/.$FindBin::Script for writing - $!", 1;
+  print $file "$image\n";
 
 
-  display $bgimage, $setbg;
+  close $file;
+} # writeSetBG
 
 
-  close $setbg;
+sub updateSetBG($bgimage, $lockimage) {
+  writeSetBG "$ENV{HOME}/.$FindBin::Script", $bgimage;
+  writeSetBG "$ENV{HOME}/.$FindBin::Script.lock", $lockimage;
 
   my $msg  = ":$bgimage";
      $msg .= " lock:$lockimage" if $opts{lockscreen};
 
   my $msg  = ":$bgimage";
      $msg .= " lock:$lockimage" if $opts{lockscreen};
@@ -181,7 +183,7 @@ sub updateSetBG($$) {
   return;
 } # updateSetBG
 
   return;
 } # updateSetBG
 
-sub SwitchWallPaper {
+sub SwitchWallPaper($saigname) {
   # We don't need to do anything here, just handle the interrupt and
   # let the while loop continue.
   debug 'SwitchWallPaper: Interrupt received';
   # We don't need to do anything here, just handle the interrupt and
   # let the while loop continue.
   debug 'SwitchWallPaper: Interrupt received';
@@ -204,6 +206,7 @@ GetOptions (
   'sleep=i',
   'lockscreen',
   'bgdirs=s@',
   'sleep=i',
   'lockscreen',
   'bgdirs=s@',
+  'mate',
 ) || Usage;
 
 local $0 = "$FindBin::Script " . join ' ', @argvCopy;
 ) || Usage;
 
 local $0 = "$FindBin::Script " . join ' ', @argvCopy;
@@ -225,8 +228,16 @@ for (my $i = 0; $i < scalar @{$opts{bgdirs}}; $i++) {
 
 # Using gsettings
 my $setbg       = "gsettings";
 
 # Using gsettings
 my $setbg       = "gsettings";
-my $setbgOpts   = "set org.gnome.desktop.background picture-uri \"file://";
-my $setLockOpts = "set org.gnome.desktop.screensaver picture-uri \"file://";
+
+my ($setbgOpts, $setLockOpts);
+
+if ($opts{mate}) {
+  $setbgOpts   = 'set org.mate.background picture-filename ';
+  $setLockOpts = 'set org.mate.screensaver picture-filename ';
+} else {
+  $setbgOpts   = "set org.gnome.desktop.background picture-uri \"file://";
+  $setLockOpts = "set org.gnome.desktop.screensaver picture-uri \"file://";
+} # if
 
 my @images = fillPictures;
 
 
 my @images = fillPictures;
 
@@ -262,7 +273,8 @@ while () {
   } else {
     $pickNewImages = 1;
 
   } else {
     $pickNewImages = 1;
 
-    my $cmd = "$setbg $setbgOpts$bgimage\" 2> /dev/null";
+    my $cmd = $opts{mate} ? "$setbg $setbgOpts\"$bgimage\" 2> /dev/null"
+                          : "$setbg $setbgOpts$bgimage\" 2> /dev/null";
 
     ($status, @output) = Execute $cmd;
 
 
     ($status, @output) = Execute $cmd;
 
@@ -275,7 +287,8 @@ while () {
     } # if
 
     if ($opts{lockscreen}) {
     } # if
 
     if ($opts{lockscreen}) {
-      $cmd = "$setbg $setLockOpts$lockimage\" 2> /dev/null";
+      $cmd = $opts{mate} ? "$setbg $setLockOpts\"$lockimage\" 2> /dev/null"
+                         : "$setbg $setLockOpts$lockimage\" 2> /dev/null";
 
       ($status, @output) = Execute $cmd;
 
 
       ($status, @output) = Execute $cmd;