X-Git-Url: https://defaria.com/gitweb/?a=blobdiff_plain;f=bin%2Fsetbg;fp=bin%2Fsetbg;h=a1f71d190b4bf200c919a9176073674aa20f8db5;hb=44aaba558b2244c52c99d5a4bc50cae05c4ed514;hp=85479a58eb9f227c9f6f4bced763d3c45479add4;hpb=294415e0b506d050524eecc134dc0fa0b5d57f49;p=clearscm.git diff --git a/bin/setbg b/bin/setbg index 85479a5..a1f71d1 100755 --- 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 -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 -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; +use experimental qw(signatures); use FindBin; use Getopt::Long; @@ -150,28 +151,29 @@ sub 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; - display $msg, $hist; + print $hist $msg; 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}; @@ -231,7 +233,7 @@ my ($setbgOpts, $setLockOpts); if ($opts{mate}) { $setbgOpts = 'set org.mate.background picture-filename '; - $setLockOpts = '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://";