diff --git a/Droidnix/README.org b/Droidnix/README.org index bb25e7bd3..f81bd4f8b 100644 --- a/Droidnix/README.org +++ b/Droidnix/README.org @@ -805,17 +805,13 @@ in systemd.user.services.swww-init = { Unit = { - Description = "Initialize wallpaper with swww"; + Description = "Initialize wallpapers per workspace"; After = [ "swww-daemon.service" ]; }; - Service = { Type = "oneshot"; - ExecStart = '' - ${pkgs.swww}/bin/swww img ${wallpaperDst} --transition-type fade slide blend zoom wipe cube fade-zoom slide-zoom - ''; + ExecStart = "${wallpaperDst}/set-wallpapers-per-workspace.sh"; }; - Install = { WantedBy = [ "graphical-session.target" ]; }; diff --git a/Droidnix/assets/traveldroid/Wallpapers/set-wallpapers-per-workspace.sh b/Droidnix/assets/traveldroid/Wallpapers/set-wallpapers-per-workspace.sh new file mode 100644 index 000000000..6b9aad131 --- /dev/null +++ b/Droidnix/assets/traveldroid/Wallpapers/set-wallpapers-per-workspace.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +WALLS=("${HOME}/Wallpapers"/*) +NUM_WALLS=${#WALLS[@]} + +# Get workspace IDs +WS_IDS=($(hyprctl workspaces -j | jq -r '.[].id')) + +for i in "${!WS_IDS[@]}"; do + WALL="${WALLS[$((i % NUM_WALLS))]}" + swww img "$WALL" --workspace "${WS_IDS[$i]}" --transition-type fade slide blend zoom wipe cube fade-zoom slide-zoom +done diff --git a/Droidnix/generated/modules/traveldroid/desktop/wallpaper.nix b/Droidnix/generated/modules/traveldroid/desktop/wallpaper.nix index 1be22fd6c..2ec339b08 100644 --- a/Droidnix/generated/modules/traveldroid/desktop/wallpaper.nix +++ b/Droidnix/generated/modules/traveldroid/desktop/wallpaper.nix @@ -81,17 +81,13 @@ in systemd.user.services.swww-init = { Unit = { - Description = "Initialize wallpaper with swww"; + Description = "Initialize wallpapers per workspace"; After = [ "swww-daemon.service" ]; }; - Service = { Type = "oneshot"; - ExecStart = '' - ${pkgs.swww}/bin/swww img ${wallpaperDst} --transition-type fade slide blend zoom wipe cube fade-zoom slide-zoom - ''; + ExecStart = "${wallpaperDst}/set-wallpapers-per-workspace.sh"; }; - Install = { WantedBy = [ "graphical-session.target" ]; };