sway: improved random wallpaper script and minimized side effects

This commit is contained in:
Aly Raffauf 2024-04-26 13:49:44 -04:00
parent 684c838fa5
commit a55aed95f7

View file

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