#!/usr/bin/env bash
#     _         _         __        ______
#    / \  _   _| |_ ___   \ \      / /  _ \
#   / _ \| | | | __/ _ \   \ \ /\ / /| |_) |
#  / ___ \ |_| | || (_) |   \ V  V / |  __/
# /_/   \_\__,_|\__\___/     \_/\_/  |_|
#

ml4w_cache_folder="$HOME/.cache/ml4w/hyprland-dotfiles"

# Notifications
source "$HOME/.config/ml4w/scripts/ml4w-notification-handler"
APP_NAME="Waypaper"
NOTIFICATION_ICON="preferences-desktop-wallpaper-symbolic"

sec=$(cat ~/.config/ml4w/settings/wallpaper-automation)
_setWallpaperRandomly() {
    while true; do
        $HOME/.config/ml4w/scripts/ml4w-wallpaper --random
        echo ":: Next wallpaper in $sec seconds..."
        sleep $sec
    done
}

if [ ! -f $ml4w_cache_folder/wallpaper-automation ]; then
    touch $ml4w_cache_folder/wallpaper-automation
    echo ":: Start wallpaper automation script"
    notify_user \
        --a "${APP_NAME}" \
        --i "${NOTIFICATION_ICON}" \
        --m "Wallpaper automation process started.\nWallpaper will be changed every $sec seconds."
    _setWallpaperRandomly
else
    rm $ml4w_cache_folder/wallpaper-automation
    notify_user \
        --a "${APP_NAME}" \
        --i "${NOTIFICATION_ICON}" \
        --m "Wallpaper automation process stopped."
    echo ":: Wallpaper automation script process $wp stopped"
    wp=$(pgrep -f ml4w-wallpaper-automation)
    kill -KILL $wp
fi
