#!/usr/bin/env bash

ENABLED=yes
[[ ${ENABLED} != "yes" ]] && exit 0
DEBUGMODE=no

SOURCE=/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@"

SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/desktop; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/theme; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

    [[ ${DISPLAYMANAGER} == @(none|no|disable) ]] && exit
    [[ ${BACKGROUND_DM} == @(none|no|disable) ]] && exit
    BACKGROUND_DM_DEFAULT="/usr/share/backgrounds/dm.jpg"
    BACKGROUND_DE_DEFAULT="/usr/share/backgrounds/background.jpg"

lightdm_gtk_greeter_background(){
    [[ -f /etc/lightdm/lightdm-gtk-greeter.conf ]] || return 0
    FILE_LIGHTDM_GTK_GREATER_CONF="/etc/lightdm/lightdm-gtk-greeter.conf.d/101-background-ubconfig.conf"
    rm -f ${FILE_LIGHTDM_GTK_GREATER_CONF}
    #Глобально заменить фон: install -Dm0644 ${BACKGROUND_DM} ${BACKGROUND_DM_DEFAULT}
    #[[ ${BACKGROUND_DM} != ${BACKGROUND_DM_DEFAULT} ]] && install -Dm0644 ${BACKGROUND_DM} ${BACKGROUND_DM_DEFAULT}
    case ${BACKGROUND_DM_MODE} in
	0) BACKGROUND_DM_MODE_LD="#stretched:" 	;;
	1) BACKGROUND_DM_MODE_LD="#zoomed:" 	;;
	2) BACKGROUND_DM_MODE_LD="#source:" 	;;
	*) BACKGROUND_DM_MODE_LD="#stretched:" 	;;
    esac
    #[[ -z ${BACKGROUND_DM_MODE_LD} && ${BACKGROUND_DM_MODE} == 0 ]] && BACKGROUND_DM_MODE_LD="#stretched:"
    #[[ -z ${BACKGROUND_DM_MODE_LD} && ${BACKGROUND_DM_MODE} == 1 ]] && BACKGROUND_DM_MODE_LD="#zoomed:"
    #[[ -z ${BACKGROUND_DM_MODE_LD} && ${BACKGROUND_DM_MODE} == 2 ]] && BACKGROUND_DM_MODE_LD="#source:"
    #[[ -z ${BACKGROUND_DM_MODE_LD} ]] && BACKGROUND_DE_MODE_LD="#stretched:"
    if [[ -d ${ROOTFS}/etc/lightdm ]]; then
        [[ -d ${FILE_LIGHTDM_GTK_GREATER_CONF%/*} ]] || mkdir -p "${FILE_LIGHTDM_GTK_GREATER_CONF%/*}"
        cat <<EOF > "${FILE_LIGHTDM_GTK_GREATER_CONF}"
[greeter]
# #source:, #zoomed:, #stretched:, NULL.
    background = ${BACKGROUND_DM_MODE_LD}${BACKGROUND_DM}
EOF
    fi
}
io_elementary_greeter_background(){
    [[ -f /etc/lightdm/io.elementary.greeter.conf ]] || return 0
    [[ -e /usr/share/backgrounds/elementaryos-default ]] ||  ln -fs ${BACKGROUND_DE} /usr/share/backgrounds/elementaryos-default
    FILE_IO_ELEMENTARY_GREETER_CONF="/etc/lightdm/io.elementary.greeter.conf.d/101-background-ubconfig.conf"
    rm -f ${FILE_IO_ELEMENTARY_GREETER_CONF}
    if [[ -d ${ROOTFS}/etc/lightdm ]]; then
        [[ -d ${FILE_IO_ELEMENTARY_GREETER_CONF%/*} ]] || mkdir -p "${FILE_IO_ELEMENTARY_GREETER_CONF%/*}"
        cat <<EOF > "${FILE_IO_ELEMENTARY_GREETER_CONF}"
[greeter]
default-wallpaper=${BACKGROUND_DM}
EOF
    fi

}
sddm_background(){
    [[ -f /etc/sddm/sddm.conf ]] || return 0
}


    [[ -z ${BACKGROUND_DM} ]] && BACKGROUND_DM=${BACKGROUND_DM_DEFAULT}
    [[ -z ${BACKGROUND_DE} ]] && BACKGROUND_DE=${BACKGROUND_DE_DEFAULT}
    if [[ -d ${BACKGROUND_DM} ]]; then
        BACKGROUND_DM=$(ls -p ${BACKGROUND_DM} | grep -v / | shuf -n 1)
    elif [[ ${BACKGROUND_DM} =~ ^'#'......$ ]]; then
        BACKGROUND_HEX=${BACKGROUND_DM}
        BACKGROUND_DM="/tmp/background-${USER}/${BACKGROUND_DM//#/}.png"
        install -dm755 ${BACKGROUND_DM%/*} 2>/dev/null
        convert -size 128x128 xc:"${BACKGROUND_HEX}" "${BACKGROUND_DM}" 2>/dev/null
    fi
    [[ -f ${BACKGROUND_DM} ]] && file "${BACKGROUND_DM}" 2>/dev/null | grep -qE 'image|bitmap' || BACKGROUND_DM=${BACKGROUND_DM_DEFAULT}
    lightdm_gtk_greeter_background
    io_elementary_greeter_background
    sddm_background
