Files
wallpapers/.set-wallpaper.sh
2026-03-05 19:10:44 +01:00

60 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
if [[ -z $WALLPAPER_HOME ]]; then
WALLPAPER_HOME="~/wallpapers/"
fi
WALLPAPER_HOME=$(realpath "${WALLPAPER_HOME/#~/$HOME}")
selected_file=$(
(
while IFS= read -r file; do
<<<<<<< HEAD
# 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")
hyprctl hyprpaper wallpaper ", $WALLPAPER"
matugen -t scheme-content image "$WALLPAPER_HOME/current/current.jpg"
=======
echo "$(basename "$file")"
done < <(find $WALLPAPER_HOME -maxdepth 1 -name '*.jpg')
) | sort | rofi -dmenu -i -p "Wallpapers"
)
if [ -z $selected_file ]; then
exit 1
fi
if [ ! -d $WALLPAPER_HOME/current ]; then
mkdir $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)
hyprctl hyprpaper wallpaper ", $WALLPAPER"
matugen -t scheme-content image $WALLPAPER_HOME/current/current.jpg
>>>>>>> 912aac4 (chore: add thinkpad wallpapers)