#!/bin/sh

###
# F.U.L.L.S.T.O.R.Y init script
#
# Copyright: (C) 2007-2008 Kel Modderman <kel@otaku42.de>
# 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:$PATH

# set default umask
umask 0022

# this is only invoked from fll-kde-desktop, inherit its environment
NAME="fll-kde-desktop"

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

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

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

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

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

###
# cheatcode handling
###
for param in $(cat /proc/cmdline); do
	case "${param}" in
		flldebug=*)
			[ "${param#flldebug=}" = "${NAME}" ] && set -x
			;;
	esac
done

###
# setup live user
###
mkdir -p	"${HOME}/.config/akonadi" \
		"${HOME}/.local"


##
# use sqlite3 backend for akonadi
##
if dpkg -s libsqlite3-0 >/dev/null 2>&1; then
	if [ ! -f "${HOME}/.config/akonadi/akonadiserverrc" ]; then
		cat > "${HOME}/.config/akonadi/akonadiserverrc" \
<< EOF
[%General]
Driver=QSQLITE3
EOF
	fi
fi

#!####
#!## set wallpaper, plasma-desktop-appletsrc is provided by our system-settings-kde package
#!####
#!#if [ "${FLL_WALLPAPER}" ] &&  [ ! -f "${HOME}/.kde/share/config/plasma-desktop-appletsrc" ]; then
#!#	sed -e "s#wallpaper=.*#wallpaper=${FLL_WALLPAPER}#" \
#!#		 /usr/share/aptosid-settings-kde/kde4/default/share/config/plasma-desktop-appletsrc \
#!#			> "${HOME}/.kde/share/config/plasma-desktop-appletsrc"
#!#fi

#!####
#!## set Ksplash theme
#!####
#!#if [ "${KDE_KSPLASH_THEME}" ]; then
#!#	if [ ! -f "${HOME}/.kde/share/config/ksplashrc" ]; then
#!#		cat > "${HOME}/.kde/share/config/ksplashrc" \
#!#<< EOF
#!#[KSplash]
#!#Theme=${KDE_KSPLASH_THEME}
#!#EOF
#!#	fi
#!#fi

#!####
#!## setup keyboard chooser
#!####
#!#if [ "${XKBLAYOUT}" ]; then
#!#	if grep -s -q '^LayoutList=' "${HOME}/.kde/share/config/kxkbrc"; then
#!#		sed -i 's|^LayoutList=.*|LayoutList='"${XKBLAYOUT}"'|' \
#!#			"${HOME}/.kde/share/config/kxkbrc"
#!#	else
#!#		cat > "${HOME}/.kde/share/config/kxkbrc" \
#!#<<EOF
#!#[Layout]
#!#LayoutList=${XKBLAYOUT}
#!#ShowFlag=true
#!#SwitchMode=Global
#!#Use=true
#!#EOF
#!#	fi
#!#fi

#!####
#!## disable first time login wizard
#!####
#!#if grep -s -q '^FirstLogin=' "${HOME}/.kde/share/config/kpersonalizerrc"; then
#!#	sed -i 's|^FirstLogin=.*|FirstLogin=false|' \
#!#		"${HOME}/.kde/share/config/kpersonalizerrc"
#!#else
#!#	cat > "${HOME}/.kde/share/config/kpersonalizerrc" \
#!#<<EOF
#!#[General]
#!#FirstLogin=false
#!#EOF
#!#fi

#!####
#!## root konsole's
#!####
#!#if [ ! -d "${HOME}/.kde/share/apps/konsole" ]; then
#!#	mkdir -p "${HOME}/.kde/share/apps/konsole"
#!#fi
#!#
#!#if [ -f /usr/share/apps/konsole/sumc.desktop ]; then
#!#	sed -e 's|^Exec=su.*$|Exec=sudo mc -c|' /usr/share/apps/konsole/sumc.desktop > \
#!#		"${HOME}/.kde/share/apps/konsole/sumc.desktop"
#!#fi

#!#if [ -f /usr/share/apps/konsole/su.desktop ]; then
#!#	sed -e 's|^Exec=su.*$|Exec=sudo -i|' /usr/share/apps/konsole/su.desktop > \
#!#		"${HOME}/.kde/share/apps/konsole/su.desktop"
#!#fi

###
# switch dolphin to compact mode
###
if [ ! -f "${HOME}/.local/share/dolphin/view_properties/global/.directory" ]; then
	mkdir -p "${HOME}/.local/share/dolphin/view_properties/global"
	cat > "${HOME}/.local/share/dolphin/view_properties/global/.directory" \
<<EOF
[Dolphin]
Version=3
ViewMode=2
EOF
fi

###
# kio shortcuts: media:/ , trash:/
###
for icon in media.desktop trash.desktop; do
	if [ ! -f "${HOME}/Desktop/${icon}" ] && [ -f "/usr/share/apps/systemview/${icon}" ]; then
		cp "/usr/share/apps/systemview/${icon}" "${HOME}/Desktop/${icon}"
	fi
done

###
# hide hplip-gui tray-icon, if unused
###

if [ -x /usr/bin/hp-systray ]  && [ ! -d "${HOME}/.hplip" ]; then
	mkdir -p "${HOME}/.hplip"
	cat > "${HOME}/.hplip/hplip.conf" \
<<EOF
[settings]
systray_visible=1
systray_messages=0
EOF
fi
