change wallpaper change script cause it was failing

This commit is contained in:
smayzy 2025-07-14 20:32:58 +02:00
parent af8a984163
commit b615415531
2 changed files with 6 additions and 11 deletions

View File

@ -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

View File

@ -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