#!/bin/sh
# Launch SliTaz default X Terminal.
#

. /etc/slitaz/applications.conf
. /lib/libtaz.sh
export TEXTDOMAIN='slitaz-tools' #i18n

help() {
	cat << EOT
$(boldify terminal): $(_n 'configurable SliTaz wrapper for terminal.')

$(boldify $(_n 'Recognized options:'))
-v -version  --version        $(_n 'Print the version number')
   -help     --help           $(_n 'Print out this message')
   -geometry --geometry       $(_n 'Width and height of terminal window (%s)' "$GEOMETRY")
-t -title -T --title          $(_n 'Title name for window ("%s")' "$TITLE")
-h -hold                      $(_n "Don't close terminal after command finished")
-e           --xterm-execute  $(_n 'Command to execute (must be last in line)')


$(boldify $(_n 'Help for %s:' "$TERMINAL"))

EOT
	$TERMINAL $OPT_HELP
}


USER_CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}/slitaz/applications.conf"
[ -f  $USER_CONFIG ] && . $USER_CONFIG

PARAMS=''; GEOMETRY='80x24'; TITLE="SliTaz $(cat /etc/slitaz-release)"

case $TERMINAL in
	sakura)
		(grep -q 'Unloading fbdev' /var/log/Xorg.0.log) || TERMINAL="sakura --sync"
		OPT_TITLE='-t'; OPT_GEOM='--geometry'; OPT_HELP='-?'; OPT_HOLD='-h';;
	xterm|*)
		OPT_TITLE='-T'; OPT_GEOM='-geometry'; OPT_HELP='-help'; OPT_HOLD='-hold';;
esac

until [ $# -eq 0 ]; do
	PARAM="$1"
	case "$PARAM" in
		-version|--version|-v)	$TERMINAL -v; exit 0;;
		-help|--help)			help; exit 0;;
		-h|-hold)				shift; PARAMS="$PARAMS $OPT_HOLD";;
		-geometry|--geometry)	shift; GEOMETRY="$1"; shift;;
		-t|-title|-T|--title)	shift; TITLE="$1"; shift;;
		-e|--xterm-execute)		shift; COMMAND="-e $@"; break;;
		*)						shift; PARAMS="$PARAMS $PARAM";;
	esac
done

$TERMINAL $PARAMS $OPT_GEOM $GEOMETRY $OPT_TITLE "$TITLE" $COMMAND &

exit 0
