#!/bin/sh

# Actually just a modified version of the set-wallpaper script, explaining some potential inconsistencies in variables naming or whatever else.

print_help() {
    echo "Usage: $0 [input-file]"
    echo
    echo "Changes your current lockscreen 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/hyprlock.conf
    wallpaper_path=~/.config/hypr/images/lockscreen # 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/lockscreen\.[^[:space:]]*/lockscreen.$file_extension/g" $wallpaper_config # Replace current extension by new extension
    if [ $? != 0 ]; then
        echo "Aborted."
        exit 1
    fi

    echo "Done"
    exit 0
else
    echo "Couldn't find '${1}': No such file or directory"
    exit 1
fi
