diff options
author | awy <awy@awy.one> | 2025-01-27 00:53:23 +0300 |
---|---|---|
committer | awy <awy@awy.one> | 2025-01-27 00:53:23 +0300 |
commit | 1b4884e6a19340390e7751008f1e5eb1eddcc2f7 (patch) | |
tree | 7f009bd79e16d7026a7ebb05210e5409bf414923 /.local/bin | |
parent | 26284254b9d4dcf4499511a0a699571d6ffc6207 (diff) |
hyprslideshow
Diffstat (limited to '.local/bin')
-rwxr-xr-x | .local/bin/hyprslideshow | 31 |
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 |