#!/bin/sh -e
#
#    logo: determine which logo to use
#    Copyright (C) 2008 Canonical Ltd.
#
#    Authors: Dustin Kirkland <kirkland@canonical.com>
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, version 3 of the License.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.

PKG="byobu"

if [ "$1" = "--detail" ]; then
	MARKUP="false"
	exit 0
else
	MARKUP="true"
fi

print_logo() {
	distro=`echo "$1" | sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/' `
	case "$distro" in
		*ubuntu*)
			$MARKUP && printf "\005{=b kr}\\\\\005{= ky}o\005{=b kY}/" || printf "\\o/"
		;;
		*altlinux*)
			logo="alt"
			$MARKUP && printf "\005{= Yk}$logo" || printf "$logo"
		;;
	 	*arch*)
			logo=" A "
			$MARKUP && printf "\005{=b wb}$logo" || printf "$logo"
		;;
		*centos*)
			logo="****"
			$MARKUP && printf "\005{= gw}*\005{= mw}*\005{= yw}*\005{= bw}*\005{=b Wk}" || printf "$logo"
		;;
		*debian*)
			logo=" @ "
			$MARKUP && printf "\005{= wr}$logo" || printf "$logo"
		;;
		*fedora*)
			logo=" f "
			$MARKUP && printf "\005{=b bw}$logo" || printf "$logo"
		;;
		*foresight*)
			logo="<@>"
			$MARKUP && printf "\005{=b Wg}$logo" || printf "$logo"
		;;
		*gentoo*)
			logo=" > "
			$MARKUP && printf "\005{=b cw}$logo" || printf "$logo"
		;;
		*mandriva*)
			logo=" (* "
			$MARKUP && printf "\005{=b kc} (\005{=b ky}* " || printf "$logo"
		;;
		*redhat*)
			logo=" RH "
			$MARKUP && printf "\005{= Rk}$logo" || printf "$logo"
		;;
		*rockhopper*)
			logo="palm"
			$MARKUP && printf "\005{=b YW}$logo" || printf "$logo"
		;;
		*slackware*)
			logo=",S "
			$MARKUP && printf "\005{=u Bk}$logo" || printf "$logo"
		;;
		*suse*)
			logo="SuSE"
			$MARKUP && printf "\005{= Wg}$logo" || printf "$logo"
		;;
		*xandros*)
			logo=" X "
			$MARKUP && printf "\005{= Wr}$logo" || printf "$logo"
		;;
		*)
			logo="|B|"
			$MARKUP && printf "\005{=b kW}$logo" || printf " $logo "
		;;
	esac
}

if [ -n "$LOGO" ]; then
	# Allow users to define their own logo in $HOME/.$PKG/status
	printf "%s" "$LOGO" && exit 0 || true
fi

if [ -n "$DISTRO" ]; then
	# Allow manual override of distro in $HOME/.$PKG/status
	print_logo "$DISTRO" && exit 0 || true
fi

if [ -r "/etc/issue" ]; then
	# Otherwise, check /etc/issue
	distro=`cat /etc/issue`
	print_logo "$distro" && exit 0 || true
fi

# This can be a very expensive operation, do it only
# if all other methods fail
if which lsb_release >/dev/null 2>&1; then
	distro=`lsb_release -s -a 2>/dev/null`
	print_logo "$distro" && exit 0 || true
fi

# No idea!
printf "|B|"
