hyprwm / hyprpaper

Hyprpaper is a blazing fast wayland wallpaper utility with IPC controls.
https://wiki.hyprland.org/Hypr-Ecosystem/hyprpaper/
BSD 3-Clause "New" or "Revised" License
757 stars 54 forks source link

hyprpaper fails to load subsequent wallpaper through hyprctl #145

Closed RCSoap closed 6 months ago

RCSoap commented 6 months ago

since hyprpaper 0.6.0 when using a script like the one below to call hyprctl to load wallpapers all wallpapers loaded after the first (i assume i only have 2 monitor so cant test more) aren't loaded despite hyprctl returning "ok" for every command

`#!/bin/bash

case $1 in

-fl|flowers) hyprctl hyprpaper preload "/home/rowan/pictures/wallpapers/set/flowers/pexels-photo-971174.jpeg" hyprctl hyprpaper preload "/home/rowan/pictures/wallpapers/set/flowers/pexels-photo-12106724.jpeg" hyprctl hyprpaper wallpaper "DP-3,/home/rowan/pictures/wallpapers/set/flowers/pexels-photo-971174.jpeg" hyprctl hyprpaper wallpaper "HDMI-A-1,/home/rowan/pictures/wallpapers/set/flowers/pexels-photo-12106724.jpeg" hyprctl hyprpaper unload all ;;

-wa|waveDM-v1) hyprctl hyprpaper preload "/home/rowan/pictures/wallpapers/set/wave dm/03-DevHome_DM-4K.png" hyprctl hyprpaper preload "/home/rowan/pictures/wallpapers/set/wave dm/04-Layers_DM-4K-portrait.png" hyprctl hyprpaper wallpaper "DP-3,/home/rowan/pictures/wallpapers/set/wave dm/03-DevHome_DM-4K.png" hyprctl hyprpaper wallpaper "HDMI-A-1,/home/rowan/pictures/wallpapers/set/wave dm/04-Layers_DM-4K-portrait.png" hyprctl hyprpaper unload all ;;

help) printf "usage: wallchange [option || wallpaper]\n\noptions:\n help -displays this help message\n\nwallpapers:\n flowers\n waveDM-v1\n\n" ;;

*) printf "\nerror!: '$1' is not a valid wallpaper\n\nuse: 'wallchange help' for a list of valid wallpapers\n\n" exit 1 ;;

esac exit 0`

to fix this i can add a delay like "sleep 1" in the script (0.18 is the lowest i can use on my system) this script works fine on hyprpaper v-0.4.0 and v-0.5.0 my distribution is fedora (sorry i know it isnt supported) hyprlang is v-0.4.1 (compiled myself) below are hyprpaper logs from when this script is run although i cant see anything wrong in them

[LOG] Welcome to hyprpaper! built from commit 09c4062659cfaf1bb5ba92532a17e1d131f3b3d2 ( config: add unload unused) [LOG] Cleaned old hyprpaper preloads (6), removing 62.7MB [WARN] Monitor DP-3 does not have a target! A wallpaper will not be created. [WARN] Monitor HDMI-A-1 does not have a target! A wallpaper will not be created. [LOG] hyprpaper socket started at /tmp/hypr/84ab8d11e8951a6551d1e1bf87796a8589da6d47_1709232488/.hyprpaper.sock (fd: 4) [LOG] Accepted incoming socket connection request on fd 5 [LOG] Received a request: preload /home/rowan/pictures/wallpapers/set/flowers/pexels-photo-971174.jpeg [LOG] Preloaded target /home/rowan/pictures/wallpapers/set/flowers/pexels-photo-971174.jpeg in 229.80ms -> Pixel size: [5742, 4000] [LOG] Buffer created for target /home/rowan/pictures/wallpapers/set/flowers/pexels-photo-971174.jpeg, Shared Memory usage: 14.7MB [LOG] Buffer created for target /home/rowan/pictures/wallpapers/set/flowers/pexels-photo-971174.jpeg, Shared Memory usage: 8.3MB [LOG] Total SM usage for all buffers: 23.0MB [LOG] Accepted incoming socket connection request on fd 5 [LOG] Closing Accepted Connection [LOG] Accepted incoming socket connection request on fd 5 [LOG] Received a request: preload /home/rowan/pictures/wallpapers/set/flowers/pexels-photo-12106724.jpeg [LOG] Preloaded target /home/rowan/pictures/wallpapers/set/flowers/pexels-photo-12106724.jpeg in 199.21ms -> Pixel size: [4000, 6000] [LOG] Buffer created for target /home/rowan/pictures/wallpapers/set/flowers/pexels-photo-12106724.jpeg, Shared Memory usage: 14.7MB [LOG] Buffer created for target /home/rowan/pictures/wallpapers/set/flowers/pexels-photo-12106724.jpeg, Shared Memory usage: 8.3MB [LOG] Total SM usage for all buffers: 46.1MB [LOG] Accepted incoming socket connection request on fd 5 [LOG] Closing Accepted Connection [LOG] Accepted incoming socket connection request on fd 5 [LOG] Received a request: wallpaper HDMI-A-1,/home/rowan/pictures/wallpapers/set/flowers/pexels-photo-12106724.jpeg [LOG] Accepted incoming socket connection request on fd 5 [LOG] Closing Accepted Connection [LOG] configure for HDMI-A-1 [LOG] handlePreferredScale: 1.00 for 7f86a0002fa0 [LOG] handlePreferredScale: 1.00 for 7f86a0002fa0 [LOG] Buffer created for target /home/rowan/pictures/wallpapers/set/flowers/pexels-photo-12106724.jpeg, Shared Memory usage: 8.3MB [LOG] Buffer created for target /home/rowan/pictures/wallpapers/set/flowers/pexels-photo-971174.jpeg, Shared Memory usage: 8.3MB [LOG] Total SM usage for all buffers: 62.7MB [LOG] Accepted incoming socket connection request on fd 5 [LOG] Image data for HDMI-A-1: /home/rowan/pictures/wallpapers/set/flowers/pexels-photo-12106724.jpeg at [-312.50, 0.00], scale: 0.32 (original image size: [4000, 6000]) [LOG] Submitting viewport dest size 1080x1920 for a0002fa0 [LOG] Received a request: wallpaper DP-3,/home/rowan/pictures/wallpapers/set/flowers/pexels-photo-971174.jpeg [LOG] Accepted incoming socket connection request on fd 5 [LOG] Closing Accepted Connection [LOG] Accepted incoming socket connection request on fd 5 [LOG] Received a request: unload all [LOG] Unloading target /home/rowan/pictures/wallpapers/set/flowers/pexels-photo-12106724.jpeg, preload path /run/user/1000/.hyprpaper_sHrdik [LOG] Unloading target /home/rowan/pictures/wallpapers/set/flowers/pexels-photo-12106724.jpeg, preload path /run/user/1000/.hyprpaper_UHZaZ1 [LOG] Unloading target /home/rowan/pictures/wallpapers/set/flowers/pexels-photo-12106724.jpeg, preload path /run/user/1000/.hyprpaper_Ey2tJn [LOG] configure for HDMI-A-1 [LOG] handlePreferredScale: 1.00 for 7f86a0002fa0 [LOG] handlePreferredScale: 1.00 for 7f86a0002fa0 [LOG] Unloading target /home/rowan/pictures/wallpapers/set/flowers/pexels-photo-971174.jpeg, preload path /run/user/1000/.hyprpaper_3ebgsi [LOG] Unloading target /home/rowan/pictures/wallpapers/set/flowers/pexels-photo-971174.jpeg, preload path /run/user/1000/.hyprpaper_bJQAqI [LOG] Unloading target /home/rowan/pictures/wallpapers/set/flowers/pexels-photo-971174.jpeg, preload path /run/user/1000/.hyprpaper_caB36B [LOG] Pool buffer missing for available target?? [LOG] Pool buffer failed #2. Ignoring WP. [LOG] Accepted incoming socket connection request on fd 5 [LOG] Closing Accepted Connection [LOG] configure for DP-3 [LOG] handlePreferredScale: 1.00 for 7f86a0005020 [LOG] handlePreferredScale: 1.00 for 7f86a0005020 [LOG] Pool buffer missing for available target?? [LOG] Pool buffer failed #2. Ignoring WP.

vaxerski commented 6 months ago

hyprctl hyprpaper unload all -> hyprctl hyprpaper unload unused

RCSoap commented 6 months ago

thanks a lot that fixes it. It didn't occur to me that that was caused by using unload all afterwards, i guess because sleeping fixes it for some reason? would you like me to open a pr to briefly mention this in the readme or are you fine with it being mentioned in the wiki?

vaxerski commented 6 months ago

it is in the wiki iirc