diff --git a/homeManagerModules/desktop/sway/randomWallpaper.nix b/homeManagerModules/desktop/sway/randomWallpaper.nix index 01a567ee..d175444d 100644 --- a/homeManagerModules/desktop/sway/randomWallpaper.nix +++ b/homeManagerModules/desktop/sway/randomWallpaper.nix @@ -5,16 +5,27 @@ ... }: let sway-randomWallpaper = pkgs.writeShellScriptBin "sway-randomWallpaper" '' + kill `pidof swaybg` + + OLD_PIDS=() directory=${config.home.homeDirectory}/.local/share/backgrounds if [ -d "$directory" ]; then while true; do - kill `pidof swaybg` + + for pid in ''${OLD_PIDS[@]}; do + kill $pid + done + OLD_PIDS=() + monitor=`${config.wayland.windowManager.sway.package}/bin/swaymsg -t get_outputs -p | grep Output | awk '{print $2}'` + for m in ''${monitor[@]}; do random_background=$(ls $directory/*.{png,jpg} | shuf -n 1) ${pkgs.swaybg}/bin/swaybg -o $m -i $random_background & + OLD_PIDS+=($!) done + sleep 900 done fi