diff --git a/dotfiles/hypr-lap/binds.conf b/dotfiles/hypr-lap/binds.conf index 44939d9..8cdaa25 100644 --- a/dotfiles/hypr-lap/binds.conf +++ b/dotfiles/hypr-lap/binds.conf @@ -27,7 +27,7 @@ bind = $mainMod, T, togglefloating bind = , XF86Calculator, exec, $calc # Change Wallpaper -bind = $mainMod SHIFT, W, exec, /home/smayzy/.config/hypr/wallpaper.sh +bind = $mainMod SHIFT, W, exec, echo trigger > /tmp/wallpaper-trigger # Screenshots bind = $mainMod SHIFT, S, exec, grim -g "$(slurp -d)" - | wl-copy diff --git a/dotfiles/hypr-lap/wallpaper.sh b/dotfiles/hypr-lap/wallpaper.sh index 9c7876e..92523d6 100755 --- a/dotfiles/hypr-lap/wallpaper.sh +++ b/dotfiles/hypr-lap/wallpaper.sh @@ -3,17 +3,13 @@ Wallpaper_DIR="/home/smayzy/wallpaper" MONITOR=$(hyprctl monitors | awk '/Monitor/ {print $2; exit}') -SCRIPT_NAME=$(basename "$0") -SELF_PID=$$ -pgrep -f "$SCRIPT_NAME" | grep -v "^$SELF_PID$" | while read -r pid; do - kill "$pid" -done +TRIGGER_PIPE="/tmp/wallpaper-trigger" +[[ -p $TRIGGER_PIPE ]] || mkfifo $TRIGGER_PIPE set_wallpaper() { - local Wallpaper=$(find $Wallpaper_DIR | shuf -n 1) - - > /home/smayzy/.config/hypr/hyprpaper.conf + local Wallpaper=$(find -L "$Wallpaper_DIR" -type f| shuf -n 1) + > /home/smayzy/.config/hypr/hyprpaper.conf echo "preload = $Wallpaper" >> /home/smayzy/.config/hypr/hyprpaper.conf echo "wallpaper = $MONITOR,$Wallpaper" >> /home/smayzy/.config/hypr/hyprpaper.conf @@ -23,6 +19,5 @@ set_wallpaper() { while true; do set_wallpaper - sleep 600 + read -t 600 < $TRIGGER_PIPE done -