aboutsummaryrefslogtreecommitdiff
path: root/.local/bin
diff options
context:
space:
mode:
authorawy <awy@awy.one>2025-01-27 00:53:23 +0300
committerawy <awy@awy.one>2025-01-27 00:53:23 +0300
commit1b4884e6a19340390e7751008f1e5eb1eddcc2f7 (patch)
tree7f009bd79e16d7026a7ebb05210e5409bf414923 /.local/bin
parent26284254b9d4dcf4499511a0a699571d6ffc6207 (diff)
hyprslideshow
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