58 lines
1.4 KiB
Plaintext
58 lines
1.4 KiB
Plaintext
![]() |
#!/bin/sh
|
||
|
|
||
|
print_help() {
|
||
|
echo "Usage: $0 [input-file]"
|
||
|
echo
|
||
|
echo "Changes your current wallpaper"
|
||
|
echo "Please note that this script is made to be used with the Atlas Desktop and will probably not work on most other desktops."
|
||
|
}
|
||
|
|
||
|
if [ $# -ne 1 ]; then
|
||
|
print_help
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# Check if file exists
|
||
|
if [ -e "$1" ]; then
|
||
|
|
||
|
# Variables declaration
|
||
|
wallpaper_config=~/.config/hypr/hyprpaper.conf
|
||
|
wallpaper_path=~/.config/hypr/images/wallpaper # Doesn't contain file extension
|
||
|
file_extension="${1##*.}"
|
||
|
|
||
|
# In case file has no extension
|
||
|
if [ "${file_extension}" == "$1" ]; then
|
||
|
echo "Error: please provide a file extension (ex: .jpg, .png...)"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# Remove old wallpaper
|
||
|
rm $wallpaper_path*
|
||
|
|
||
|
# Copy file
|
||
|
cp "$1" "${wallpaper_path}.${file_extension}"
|
||
|
if [ $? != 0 ]; then
|
||
|
echo "Aborted."
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# Update config
|
||
|
sed -i "s/wallpaper\.[^[:space:]]*/wallpaper.$file_extension/g" $wallpaper_config # Replace current extension by new extension
|
||
|
if [ $? != 0 ]; then
|
||
|
echo "Aborted."
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# Reload Hyprpaper
|
||
|
pkill hyprpaper
|
||
|
hyprctl dispatch exec hyprpaper > /dev/null # Start hyprpaper and hide stdout output
|
||
|
# Or you can do the old fashioned way :
|
||
|
# nohup hyprpaper </dev/null >/dev/null 2>&1 &
|
||
|
|
||
|
echo "Done"
|
||
|
exit 0
|
||
|
else
|
||
|
echo "Couldn't find '${1}': No such file or directory"
|
||
|
exit 1
|
||
|
fi
|