#!/bin/bash if [[ -z $WALLPAPER_HOME ]]; then WALLPAPER_HOME="~/wallpapers/" fi if [[ -z $1 ]]; then THEME=$THEME_MODE else THEME=$1 fi WALLPAPER_HOME=$(realpath "${WALLPAPER_HOME/#~/$HOME}") selected_file=$( ( while IFS= read -r file; do # Pass the image path as an icon printf "%s\0icon\x1f%s\n" "$(basename "$file")" "$file" done < <(find "$WALLPAPER_HOME" -maxdepth 1 -name '*.jpg') ) | sort | rofi -dmenu -i -show-icons -p "Wallpapers" \ -theme-str ' window { width: 600px; } listview { lines: 5; columns: 1; } element { orientation: horizontal; children: [ element-icon, element-text ]; spacing: 10px; padding: 10px; } element-icon { size: 3em; } element-text { vertical-align: 0.5; }' ) if [ -z "$selected_file" ]; then exit 1 fi if [ ! -d "$WALLPAPER_HOME/current" ]; then mkdir -p "$WALLPAPER_HOME/current/" fi selected="$WALLPAPER_HOME/$selected_file" echo "$selected" > "$WALLPAPER_HOME/current/selected" magick "$selected" -scale 10% -blur 0x2.5 -resize 1000% "$WALLPAPER_HOME/current/blurred.jpg" cp "$selected" "$WALLPAPER_HOME/current/current.jpg" export WALLPAPER=$(cat "$WALLPAPER_HOME/current/selected") magick "$WALLPAPER_HOME/current/current.jpg" -gravity Center -crop 40x40%+0+0 +repage /tmp/matugen_target.jpg hyprctl hyprpaper wallpaper ", $WALLPAPER" matugen -t scheme-fidelity -m $THEME --source-color-index 0 image "/tmp/matugen_target.jpg" --lightness-dark 0.066 gsettings set org.gnome.desktop.interface gtk-theme 'adw-gtk-theme' gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'