dotfiles/scripts/scripts/switch-bg.sh

57 lines
1.2 KiB
Bash
Executable File

#! /bin/bash
bgsDirectory="${HOME}/bgs/"
slideshow() {
gsettings set org.cinnamon.desktop.background.slideshow slideshow-enabled ${1}
}
setDirectory() {
gsettings set org.cinnamon.desktop.background.slideshow image-source "directory:///${bgsDirectory}${1}"
}
setImage() {
gsettings set org.cinnamon.desktop.background picture-uri "file:///${1}"
}
toggle(){
slideshowEnabled=$(gsettings get org.cinnamon.desktop.background.slideshow slideshow-enabled)
if $slideshowEnabled; then
slideshow false
setImage "${bgsDirectory}/default.jpg"
else
slideshow true
gsettings set org.cinnamon.desktop.background.slideshow image-source "directory:///${bgsDirectory}chsck/"
fi
}
chooseRandom(){
shopt -s nullglob
files=(${1}*)
length=$((${#files[@]}))
echo "length: ${length}"
randomIndex=$(($RANDOM % $length))
echo "random index: ${randomIndex}"
setImage "${files[$randomIndex]}"
}
slideshowOrRandom(){
if [ "$#" -gt 1 -a "$2" = r ]; then
slideshow false
chooseRandom "${bgsDirectory}${1}"
else
slideshow true
setDirectory ${1}
fi
}
case $1 in
c)
slideshowOrRandom "chsck/" $2
;;
l)
slideshowOrRandom "leics/" $2
;;
a)
slideshowOrRandom "art/" $2
;;
t) toggle
;;
*) slideshow false
setImage "${bgsDirectory}/default.jpg"
;;
esac