#!/bin/sh
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/debian-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
ceratopsian 1920x1080.svg
emerald 1920x1080.svg
homeworld 1920x1080.svg
futureprototype 1920x1080.svg
moonlight 1920x1080.svg
softwaves 1024x768.svg
softwaves 1280x720.svg
softwaves 1280x800.svg
softwaves 1280x1024.svg
softwaves 1600x1200.svg
softwaves 1920x1080.svg
softwaves 1920x1200.svg
softwaves 2560x1440.svg
softwaves 2560x1600.svg
lines 1280x1024.svg
lines 1600x1200.svg
lines 1920x1080.svg
lines 1920x1200.svg
lines 2560x1080.svg
joy 1280x720.svg
joy 1280x1024.svg
joy 1600x1200.svg
joy 1920x1080.svg
joy 1920x1200.svg
joy-inksplat 1280x720.svg
joy-inksplat 1280x1024.svg
joy-inksplat 1600x1200.svg
joy-inksplat 1920x1080.svg
joy-inksplat 1920x1200.svg
spacefun 1280x720.svg
spacefun 1280x1024.svg
spacefun 1920x1080.svg
spacefun 1920x1200.svg
EOF
    # *Last* remove background *highest priority* alternatives for active theme
    update-alternatives --remove desktop-background /usr/share/desktop-base/active-theme/wallpaper/contents/images/1920x1080.svg

    # 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
ceratopsian
emerald
homeworld
futureprototype
moonlight
softwaves
lines
joy
joy-inksplat
spacefun
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
ceratopsian
emerald
homeworld
futureprototype
moonlight
softwaves
lines
joy
spacefun
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
ceratopsian
emerald
homeworld
futureprototype
moonlight
softwaves
lines
joy
joy-inksplat
spacefun
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
ceratopsian background.svg
emerald background.svg
homeworld background.svg
futureprototype background.svg
moonlight background.svg
softwaves background.svg
lines background.svg
lines background-nologo.svg
joy background.svg
spacefun background.svg
EOF
    # *Last* remove *highest priority* alternative for active theme
    update-alternatives --remove \
        desktop-login-background \
        /usr/share/desktop-base/active-theme/login/background.svg

    # 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
ceratopsian 4x3
ceratopsian 16x9
emerald 4x3
emerald 16x9
homeworld 4x3
homeworld 16x9
futureprototype 4x3
futureprototype 16x9
moonlight 4x3
moonlight 16x9
softwaves 4x3
softwaves 16x9
lines 4x3
lines 16x9
joy 4x3
joy 16x9
spacefun 4x3
spacefun 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
ceratopsian
emerald
futureprototype
moonlight
softwaves
lines
joy
joy-inksplat
spacefun
EOF
    ## *Lastly* remove *highest priority* alternative
    update-alternatives --remove \
        desktop-theme \
        /usr/share/desktop-base/homeworld-theme

fi
