aboutsummaryrefslogtreecommitdiff
path: root/.local/bin
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin')
-rwxr-xr-x.local/bin/hyprslideshow31
1 files changed, 31 insertions, 0 deletions
diff --git a/.local/bin/hyprslideshow b/.local/bin/hyprslideshow
new file mode 100755
index 0000000..0edcc74
--- /dev/null
+++ b/.local/bin/hyprslideshow
@@ -0,0 +1,31 @@
+#!/bin/sh
+if [ "$#" -ne 2 ]; then
+ echo "Use: $0 images_path timeout_sec"
+ exit
+fi
+
+IMG_PATH=$1
+TIMEOUT=$2
+
+until pids=$(pidof hyprpaper)
+do
+ sleep 0.1
+done
+sleep 1
+
+while true; do
+ hyprctl hyprpaper unload all
+ if ! pidof Hyprland > /dev/null; then rm $XDG_RUNTIME_DIR/wallpaper_wait.pid; exit; fi
+ new_wp=$(find ${IMG_PATH} -type f | shuf -n1)
+ hyprctl hyprpaper preload $new_wp
+ monitors_json=$(hyprctl monitors -j)
+ monitors_count=$(echo $monitors_json | jq length)
+ echo $monitors_count
+ for i in $(seq 0 $(($monitors_count-1))); do
+ monitor=$(echo $monitors_json | jq -r .[$i][\"name\"])
+ hyprctl hyprpaper wallpaper "$monitor,$new_wp"
+ done
+ sleep $TIMEOUT &
+ echo $! > $XDG_RUNTIME_DIR/wallpaper_wait.pid
+ waitpid $!
+done