#! /bin/sh
set -e

change_ldm_background() {
    update-alternatives --install /usr/share/ldm/themes/default \
        ldm-theme /usr/share/ldm/themes/debian-edu 85
}

restore_ldm_background() {
    update-alternatives --remove ldm-theme /usr/share/ldm/themes/debian-edu
}


## GRUB
change_grub_background() {
    priority=50 # value higher than 20 used for joy-grub.png in desktop-base
    update-alternatives --install \
        /usr/share/images/desktop-base/desktop-grub.png \
        desktop-grub \
        /usr/share/pixmaps/splash/debian-edu-splash-grub.png $priority

    if which update-grub2 > /dev/null ; then
        sync
        update-grub2 || true
    fi
}

restore_grub_background() {
    update-alternatives --remove desktop-grub \
	/usr/share/pixmaps/splash/debian-edu-splash-grub.png

    if which update-grub2 > /dev/null ; then
        update-grub2 || true
    fi
}

## Wallpaper
change_desktop_background() {
    update-alternatives --install \
        /usr/share/images/desktop-base/desktop-background \
	desktop-background \
	/usr/share/images/desktop-base/debian-edu-wallpaper01_1920x1080.svg 75
    update-alternatives --install \
        /usr/share/images/desktop-base/desktop-background.xml \
	desktop-background.xml \
	/usr/share/images/desktop-base/debian-edu.xml 20

    for WALLPAPER in debian-edu-wallpaper01_1600x1200.png \
		debian-edu-wallpaper01_1600x1200.svg \
		debian-edu-wallpaper01_1920x1080.png \
		debian-edu-wallpaper01_1920x1200.png \
		debian-edu-wallpaper01_1920x1200.svg \
		debian-edu-wallpaper02_1920x1080.png \
		debian-edu-wallpaper02_1920x1080.svg \
		debian-edu-wallpaper02_1920x1200.png \
		debian-edu-wallpaper02_1920x1200.svg \
		debian-edu-wallpaper02_1600x1200.png \
		debian-edu-wallpaper02_1600x1200.svg ; do
	update-alternatives --install \
	        /usr/share/images/desktop-base/desktop-background \
		desktop-background \
		/usr/share/images/desktop-base/$WALLPAPER 50
    done
}

restore_desktop_background() {
    update-alternatives --remove \
	desktop-background \
	/usr/share/images/desktop-base/debian-edu-wallpaper01_1920x1080.svg
    update-alternatives --remove \
	desktop-background.xml \
	/usr/share/images/desktop-base/debian-edu.xml

    for WALLPAPER in debian-edu-wallpaper01_1600x1200.png \
		debian-edu-wallpaper01_1600x1200.svg \
		debian-edu-wallpaper01_1920x1080.png \
		debian-edu-wallpaper01_1920x1200.png \
		debian-edu-wallpaper01_1920x1200.svg \
		debian-edu-wallpaper02_1920x1080.png \
		debian-edu-wallpaper02_1920x1080.svg \
		debian-edu-wallpaper02_1920x1200.png \
		debian-edu-wallpaper02_1920x1200.svg \
		debian-edu-wallpaper02_1600x1200.png \
		debian-edu-wallpaper02_1600x1200.svg ; do
	update-alternatives --remove desktop-background \
		/usr/share/images/desktop-base/$WALLPAPER
    done
}

## Wallpaper
change_ksplash() {
    update-alternatives --install \
	/usr/share/images/desktop-base/desktop-splash \
	desktop-splash \
	/usr/share/kde4/apps/kdm/themes/debian-edu/background.svg 55
}

restore_ksplash() {
    update-alternatives --remove desktop-splash \
	/usr/share/kde4/apps/kdm/themes/debian-edu/background.svg
}

compile_gschemas() {
    glib-compile-schemas /usr/share/glib-2.0/schemas/
}

case "$1" in
  configure)
    change_ldm_background
    change_grub_background
    change_desktop_background
    change_ksplash
    compile_gschemas
    ;;
  remove)
    restore_ldm_background
    restore_grub_background
    restore_desktop_background
    restore_ksplash
    compile_gschemas
    ;;
esac
