From 1b4884e6a19340390e7751008f1e5eb1eddcc2f7 Mon Sep 17 00:00:00 2001 From: awy Date: Mon, 27 Jan 2025 00:53:23 +0300 Subject: hyprslideshow --- .local/bin/hyprslideshow | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 .local/bin/hyprslideshow (limited to '.local/bin') 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 -- cgit v1.2.3