57 lines
1.3 KiB
Bash
Executable File
57 lines
1.3 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 ]&&[ "$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
|