first push of my config files
[my-dotfiles.git] / bin / wallpaper.sh
1 #!/bin/bash
2 PIDFILE=${PIDFILE:-/tmp/wallpaper.pid}
3
4 trap "rm -f $PIDFILE" SIGUSR1
5
6 # set background function (requires input)
7 function wpapers () {
8 if [[ -f $1 ]]; then
9 # We have a single file as input
10 feh --bg-fill --no-fehbg $1
11 exit 0
12 elif [[ -d $1 ]]; then
13 # directory as input
14 while true; do
15 BGIMG=$(find $1 -type f -print | shuf -n1)
16 feh --bg-fill --no-fehbg $BGIMG
17 sleep 5m
18 done
19 fi
20 }
21
22 if [[ -f $PIDFILE ]]; then
23 # PIDFILE exists, so I guess there's already an instance running
24 # let's kill it and run again
25 kill $(cat $PIDFILE) > /dev/null 2>&1
26 rm $PIDFILE
27 fi
28
29 # create PIDFILE
30 echo $$ > $PIDFILE
31
32 ## MAIN ##
33 # do we have input?
34 if [[ ! -z $1 ]]; then
35 WPAPERS=$1
36 else
37 # No input. We'll use our predefined directory
38 WPAPERS="/home/danix/Pictures/wallpapers/black"
39 fi
40
41 wpapers $WPAPERS
42