#!/bin/bash

set -e

# Tag to allow some debhelper commands to inject relevant code
#DEBHELPER#

if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then
    # Remove vendor logos alternative, all slaves get removed automatically
    update-alternatives --remove \
            vendor-logos \
            /usr/share/desktop-base/kaisen-logos

    # Remove background alternatives for theme packages
    while read theme filename; do
        update-alternatives --remove \
            desktop-background \
            /usr/share/desktop-base/$theme-theme/wallpaper/contents/images/$filename
    done << EOF
kaisen 3840x2160.jpg
kaisen-lightdm 3840x2160.jpg
kaisen-lightdm-blue 3840x2160.jpg
kaisen-lockscreen 3840x2160.jpg
kaisen-additional1 3840x2160.jpg
kaisen-additional2 3840x2160.jpg
kaisen-additional3 3840x2160.jpg
kaisen-additional4 3840x2160.jpg
kaisen-additional5 3840x2160.jpg
kaisen-additional6 3840x2160.jpg
kaisen-additional7 3840x2160.jpg
EOF
    # *Last* remove background *highest priority* alternatives for active theme
    update-alternatives --remove desktop-background /usr/share/desktop-base/active-theme/wallpaper/contents/images/*.jpg

    # Remove desktop-background.xml alternatives
    # For theme packages
    while read theme; do
        update-alternatives --remove \
            desktop-background.xml \
            /usr/share/desktop-base/$theme-theme/wallpaper/gnome-background.xml
    done << EOF
kaisen
kaisen-lightdm
kaisen-lightdm-blue
kaisen-lockscreen
kaisen-additional1
kaisen-additional2
kaisen-additional3
kaisen-additional4
kaisen-additional5
kaisen-additional6
kaisen-additional7
EOF
    # *Lastly* remove *highest priority* alternative for active theme
    update-alternatives --remove \
        desktop-background.xml \
        /usr/share/desktop-base/active-theme/wallpaper/gnome-background.xml

    # Remove desktop-lockscreen.xml alternatives
    # For theme packages
    while read theme; do
        update-alternatives --remove \
            desktop-lockscreen.xml \
            /usr/share/desktop-base/$theme-theme/lockscreen/gnome-background.xml
    done << EOF
kaisen
kaisen-lightdm
kaisen-lightdm-blue
kaisen-lockscreen
kaisen-additional1
kaisen-additional2
kaisen-additional3
kaisen-additional4
kaisen-additional5
kaisen-additional6
kaisen-additional7
EOF
    # *Last* remove *highest priority* alternative for active theme
    update-alternatives --remove \
        desktop-lockscreen.xml \
        /usr/share/desktop-base/active-theme/lockscreen/gnome-background.xml

    # Remove Plasma 5/KDE wallpaper alternatives
    # For theme packages
    while read theme; do
        update-alternatives --remove \
            desktop-plasma5-wallpaper \
            /usr/share/desktop-base/$theme-theme/wallpaper
    done << EOF
EOF
    # *Last* remove *highest priority* alternative for active theme
    update-alternatives --remove \
        desktop-plasma5-wallpaper \
        /usr/share/desktop-base/active-theme/wallpaper

    # Remove login theme alternatives
    # For theme packages
    # Alternative for theme packages
    while read theme background; do
        update-alternatives --remove \
            desktop-login-background \
            /usr/share/desktop-base/$theme-theme/login/$background
    done << EOF
kaisen background.jpg
kaisen-lightdm background.jpg
kaisen-lightdm-blue background.jpg
kaisen-lockscreen background.jpg
kaisen-additional1 background.jpg
kaisen-additional2 background.jpg
kaisen-additional3 background.jpg
kaisen-additional4 background.jpg
kaisen-additional5 background.jpg
kaisen-additional6 background.jpg
kaisen-additional7 background.jpg
EOF
    # *Last* remove *highest priority* alternative for active theme
    update-alternatives --remove \
        desktop-login-background \
        /usr/share/desktop-base/active-theme/login/background.jpg

    # Remove GRUB background alternatives
    while read theme ratio; do
        update-alternatives --remove \
            desktop-grub \
            /usr/share/desktop-base/$theme-theme/grub/grub-$ratio.png
    done << EOF
kaisen 4x3
kaisen 16x9
kaisen-lightdm 4x3
kaisen-lightdm 16x9
kaisen-lightdm-blue 4x3
kaisen-lightdm-blue 16x9
kaisen-lockscreen 4x3
kaisen-lockscreen 16x9
kaisen-additional1 4x3
kaisen-additional1 16x9
kaisen-additional2 4x3
kaisen-additional2 16x9
kaisen-additional3 4x3
kaisen-additional3 16x9
kaisen-additional4 4x3
kaisen-additional4 16x9
kaisen-additional5 4x3
kaisen-additional5 16x9
kaisen-additional6 4x3
kaisen-additional6 16x9
kaisen-additional7 4x3
kaisen-additional7 16x9
EOF
    ## *Lastly* remove *highest priority* alternative
    num_grub_efi_installed=$(dpkg-query --list "grub-efi*" 2> /dev/null | grep "^i" | wc -l)
    if [ $num_grub_efi_installed -gt 0 ] ; then
        remove_first_ratio=4x3
        remove_last_ratio=16x9
    else
       remove_first_ratio=16x9
        remove_last_ratio=4x3
    fi
    update-alternatives --remove \
        desktop-grub.sh \
        /usr/share/desktop-base/active-theme/grub/grub_background.sh
    update-alternatives --remove \
        desktop-grub \
        /usr/share/desktop-base/active-theme/grub/grub-$remove_first_ratio.png
    update-alternatives --remove \
        desktop-grub \
        /usr/share/desktop-base/active-theme/grub/grub-$remove_last_ratio.png


    # Remove theme package alternatives
    while read theme; do
        update-alternatives --remove \
            desktop-theme \
            /usr/share/desktop-base/$theme-theme
    done << EOF
kaisen
kaisen-lightdm
kaisen-lightdm-blue
kaisen-lockscreen
kaisen-additional1
kaisen-additional2
kaisen-additional3
kaisen-additional4
kaisen-additional5
kaisen-additional6
kaisen-additional7
EOF
    ## *Lastly* remove *highest priority* alternative
    update-alternatives --remove \
        desktop-theme \
        /usr/share/desktop-base/kaisen-theme

fi

case "$1" in
	purge|remove|autoremove)
		#Remove diversion
		dpkg-divert --quiet --no-rename --remove /usr/share/plymouth/plymouthd.defaults
		dpkg-divert --quiet --no-rename --remove /etc/plymouth/plymouthd.conf
	;;
esac

#DEBHELPER#
