summaryrefslogtreecommitdiff
path: root/.config/sway/bin/wallpaper.sh
diff options
context:
space:
mode:
authorDaniel Weipert <code@drogueronin.de>2023-05-16 21:19:00 +0200
committerDaniel Weipert <code@drogueronin.de>2023-10-30 09:52:23 +0100
commit5a3373ab70f54b8f7a0f1c16b6a80dd4a8e87f1f (patch)
treedd3e1cee612c1e62662cd6c789162bddce28e4c9 /.config/sway/bin/wallpaper.sh
parente595dcb94c0ea8aacc92a0090cc6a9f52f1b728f (diff)
[sway] build script to enable auto-changing wallpapers
Diffstat (limited to '.config/sway/bin/wallpaper.sh')
-rwxr-xr-x.config/sway/bin/wallpaper.sh46
1 files changed, 46 insertions, 0 deletions
diff --git a/.config/sway/bin/wallpaper.sh b/.config/sway/bin/wallpaper.sh
new file mode 100755
index 0000000..a035c03
--- /dev/null
+++ b/.config/sway/bin/wallpaper.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+WALLPAPER_PATH="$HOME/Images/Wallpaper"
+INTERVAL=600
+
+while getopts 'p::t::' OPTION; do
+ case "$OPTION" in
+ p)
+ WALLPAPER_PATH="$OPTARG"
+ ;;
+ t)
+ INTERVAL="$OPTARG"
+ ;;
+ ?)
+ echo "Usage: {$0} [--path=] [--time=]"
+ exit 1
+ ;;
+ esac
+done
+
+RUNNING_PID=-1
+while true; do
+ # run swaybg
+ RANDOM_NUMBER=$(shuf -i 1-10 -n 1)
+ if [ $RANDOM_NUMBER -le 2 ]; then
+ swaybg -i "$(find "$WALLPAPER_PATH" -type f | shuf -n1)" -m fill &
+ else
+ swaybg -i "$(find "$WALLPAPER_PATH" -type f -not -path "*/hyper-pokemon/*" | shuf -n1)" -m fill &
+ fi
+
+ # get pid of new spawned instance
+ NEW_PID=$!
+
+ # wait until new instance of swaybg has booted up properly
+ sleep 5
+
+ # kill the previous process
+ # the new swaybg process takes its place automatically
+ kill $RUNNING_PID
+
+ # set pid for next iteration
+ RUNNING_PID=$NEW_PID
+
+ # wait $INTERVAL seconds
+ sleep $INTERVAL
+done