#!/bin/bash wallpapers_dir="$HOME/Pictures/Wallpapers/" current_wallpaper=$(cat $wallpapers_dir"/Static/current") # Pick a random wallpaper from the directory but not the current_wallpaper image=$(find "$wallpapers_dir" -maxdepth 1 -type f ! -name "$(basename "$current_wallpaper")" | shuf -n 1) echo "Image $image" # Check if an image was provided if [[ -z "$image" ]]; then echo "Usage: $0 /path/to/image" exit 1 fi if [ -x "/usr/bin/swww-daemon" ]; then echo "swww-daemon exists and is executable" # Check if swww daemon is running if ! pgrep -x "swww-daemon" > /dev/null; then echo "Starting swww daemon..." swww-daemon & # Give the daemon a moment to start sleep 0.2 echo "daemon started" fi # Set the wallpaper echo "running" swww img "$image" -t grow --transition-duration 1 elif [ -x "/usr/bin/hyprpaper" ]; then echo "hyprpaper exists and is executable" if ! pgrep -x "hyprpaper" > /dev/null; then echo "Starting hyprpaper daemon..." hyprpaper & # Give the daemon a moment to start sleep 0.2 echo "daemon started" fi sed -i "3s|path = .*|path = ${image}|" ~/.config/hypr/hyprpaper.conf hyprctl hyprpaper wallpaper ", $image" echo "set Wallpaper to $image with hyprpaper" fi if [ -x "/usr/bin/matugen" ]; then matugen image $image --mode dark --source-color-index 0 else cp $HOME/.config/quickshell/colors/example_colors.qml $HOME/.config/quickshell/colors/Colors.qml fi ### Blured Wallpaper for wlogout blur="50x30" static_wallpaper_dir="$HOME/Pictures/Wallpapers/Static" if [ ! -d $static_wallpaper_dir ]; then mkdir -p $static_wallpaper_dir; fi current_wallpaper="$static_wallpaper_dir/current" echo "$image" > $current_wallpaper blurred_wp="$static_wallpaper_dir/blurred.jpg" if [ -x "/usr/bin/sddm" ]; then magick $image -blur $blur $blurred_wp else cp $image $blurred_wp fi if [ -x "/usr/bin/sddm" ] && [ -d "/usr/share/backgrounds" ]; then sddm_background="/usr/share/backgrounds/background.jpg" cp "$image" "$sddm_background" fi