#!/bin/sh -e # # logo: determine which logo to use # Copyright (C) 2008 Canonical Ltd. # # Authors: Dustin Kirkland # # 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 . PKG="byobu" color 2>/dev/null || color() { true; } 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 "$(color b k r)%s$(color -)$(color k y)%s$(color -)$(color b k Y)%s$(color -)" "\\" "o" "/" || printf "\\o/" $MARKUP && printf "$(color m W)%s$(color -)" " U " || printf "\\o/" ;; *altlinux*) logo="alt" $MARKUP && printf "$(color Y k)%s$(color -)" "$logo" || printf "$logo" ;; *arch*) logo=" A " $MARKUP && printf "$(color b w b)%s$(color -)" "$logo" || printf "$logo" ;; *centos*) logo="****" $MARKUP && printf "$(color g w)*$(color -)$(color m w)*$(color -)$(color y w)*$(color -)$(color b w)*$(color -)" || printf "$logo" ;; *debian*) logo=" @ " $MARKUP && printf "$(color w r)%s$(color -)" "$logo" || printf "$logo" ;; *fedora*) logo=" f " $MARKUP && printf "$(color b w)%s$(color -)" "$logo" || printf "$logo" ;; *foresight*) logo="<@>" $MARKUP && printf "$(color b W g)%s$(color -)" "$logo" || printf "$logo" ;; *gentoo*) logo=" > " $MARKUP && printf "$(color b c w)%s$(color -)" "$logo" || printf "$logo" ;; *mandriva*) logo=" (* " $MARKUP && printf "$(color b k c) ($(color -)$(color b k y)*$(color -) " || printf "$logo" ;; *redhat*) logo=" RH " $MARKUP && printf "$(color R k)%s$(color -)" "$logo" || printf "$logo" ;; *rockhopper*) logo="palm" $MARKUP && printf "$(color k w)%s$(color -)" "$logo" || printf "$logo" ;; *slackware*) logo=".S " $MARKUP && printf "$(color u B k)%s$(color -)" "$logo" || printf "$logo" ;; *suse*) logo="SuSE" $MARKUP && printf "$(color W g)%s$(color -)" "$logo" || printf "$logo" ;; *xandros*) logo=" X " $MARKUP && printf "$(color W r)%s$(color -)" "$logo" || printf "$logo" ;; *) logo="[B]" $MARKUP && printf "$(color b k W)%s$(color -)" "$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=`grep -m1 "^[A-Za-z]" /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|"