#!/bin/sh
set -e

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

if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then
    # 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
runner 1024x768.svg
runner 1280x1024.svg
runner 1280x720.svg
runner 1280x800.svg
runner 1600x1200.svg
runner 1920x1080.svg
runner 1920x1200.svg
runner 2560x1440.svg
runner 2560x1600.svg
runner 3840x2160.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
runner
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
runner
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
runner
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
runner 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
runner 4x3
runner 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
lines
joy
joy-inksplat
spacefun
EOF
    ## *Lastly* remove *highest priority* alternative
    update-alternatives --remove \
        desktop-theme \
        /usr/share/desktop-base/runner-theme

fi
