#!/bin/sh

# Description:       The purpose of this script is to preseed the live users
#                    settings for common desktop applications.

###
# F.U.L.L.S.T.O.R.Y
#
# Copyright: (C) 2007-2008 Kel Modderman <kel@otaku42.de>
# Copyright: (C) 2007-2016 Niall Walsh <niallwalsh@celtux.org>
# Copyright: (C) 2008-2016 Stefan Lippers-Hollmann <s.l-h@gmx.de>
# License:   GPLv2
#
# F.U.L.L.S.T.O.R.Y Project Homepage:
# https://github.com/fullstory
###

PATH=/sbin:/usr/sbin:/bin:/usr/bin
NAME="fll-desktop"

###
# source distro-defaults, no-op unless in live mode
###
FLL_DISTRO_MODE="installed"

if [ -r /etc/default/distro ]; then
	. /etc/default/distro
fi

if [ "${FLL_DISTRO_MODE}" != "live" ]; then
	exit 0
fi

###
# source fll functions
###
. /lib/init/fll

###
# read in variables from /etc/default/fll-locales
###
if [ -r /etc/default/fll-locales ]; then
	. /etc/default/fll-locales
fi

###
# read in variables from our default conffile
###
if [ -r "/etc/default/${NAME}" ]; then
	. "/etc/default/${NAME}"
fi

FLL_LIVE_USER_HOME=$(getent passwd ${FLL_LIVE_USER} | cut -d\: -f 6)

if [ ! -d "${FLL_LIVE_USER_HOME}" ]; then
	echo "directory '${FLL_LIVE_USER_HOME} does not exist"
fi

set_lxde_background()
{
	###
	# Edit LXDE.conf with desired wallpaper
	###
	bkgini=`fgrep "wallpaper=" /usr/share/lxde/pcmanfm/LXDE.conf`
	lxde_bkg="wallpaper=${FLL_WALLPAPER}.png"
	if [ "${bkgini}" ] ; then
		sed -i "s@${bkgini}@${lxde_bkg}@" /usr/share/lxde/pcmanfm/LXDE.conf
	fi
}

set_default_gdm_theme()
{
	umask 0022

	###
	# setup GDM theme
	###
	if [ -n "${LXDE_GDM_THEME}" ] && [ -n "${LXDE_GDM_THEME_COLOR}" ]; then
		if ! grep -q "^GraphicalTheme=" /etc/gdm/gdm.conf && ! grep -q "^GraphicalThemedColor=" /etc/gdm/gdm.conf ; then
			sed -i	-e "s/\[greeter\]/\[greeter\]\nGraphicalTheme=${LXDE_GDM_THEME}\nGraphicalThemedColor=${LXDE_GDM_THEME_COLOR}/" \
				/etc/gdm/gdm.conf
		else
			sed -i	-e "s/\(GraphicalTheme=\).*/\1${LXDE_GDM_THEME}/g" \
				-e "s/\(GraphicalThemedColor=\).*/\1${LXDE_GDM_THEME_COLOR}/" \
					/etc/gdm/gdm.conf
		fi
		if grep -q "^GraphicalThemes=" /etc/gdm/gdm.conf ; then
			sed -i "s/GraphicalThemes=/#GraphicalThemes=/g" /etc/gdm/gdm.conf
	        fi
		if grep -q "^GraphicalThemeRand=" /etc/gdm/gdm.conf ; then
			sed -i "s/GraphicalThemeRand=/#GraphicalThemeRand=/g" /etc/gdm/gdm.conf
	        fi
	fi
}

set_default_slim_theme()
{
	umask 0022

	###
	# setup slim theme
	###
	if [ -n "${LXDE_SLIM_THEME}" ]; then
			sed -i	-e "s/\(current_theme\).*/\1\t${LXDE_SLIM_THEME}/g" \
					/etc/slim.conf
		if grep -q "^current_theme" /etc/slim.conf ; then
			sed -i "s/current_theme/#current_theme/g" /etc/slim.conf
	        fi
	fi
}

setup_firefox()
{
	###
	# make firefox default browser if installed
	###
	FIREFOX=$(which firefox 2>/dev/null)
	if [ -x "${FIREFOX}" ]; then
		update-alternatives --set x-www-browser "${FIREFOX}" >/dev/null
	fi
}

#ROOT#setup_firefox()
/usr/share/desktop-defaults/preseed-user-home-common

# kde
if [ -x /usr/bin/startkde ]; then
	/usr/share/desktop-defaults/preseed-user-home-kde
fi

# lxde
if [ -x "/usr/bin/startlxde" ] && [ -x "/usr/bin/openbox" ]; then
#ROOT#	set_lxde_background

#ROOT#	if [ -x "/usr/sbin/gdm" ]; then
#ROOT#		set_default_gdm_theme
#ROOT#	fi

#ROOT#	# set x-terminal to lxterminal
#ROOT#	if [ -x '/usr/bin/lxterminal' ]; then
#ROOT#		update-alternatives --set x-terminal-emulator '/usr/bin/lxterminal' >/dev/null
#ROOT#	fi

	/usr/share/desktop-defaults/preseed-user-home-lxde
fi

# xfce
if [ -x "/usr/bin/xfwm4" ]; then
	/usr/share/desktop-defaults/preseed-user-home-xfce
fi
