#!/bin/sh -e # # logo: determine which logo to use # # Copyright (C) 2008 Canonical Ltd. # Copyright (C) 2011 Dustin Kirkland # # 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 . get_distro() { _RET= if [ -n "$DISTRO" ]; then # Allow manual override of distro in $BYOBU_CONFIG_DIR/status _RET="$DISTRO" elif [ -r "/etc/issue" ]; then # Otherwise, check /etc/issue _RET=`grep -m1 "^[A-Za-z]" /etc/issue` elif which lsb_release >/dev/null 2>&1; then # This can be a very expensive operation, do it only # if all other methods fail _RET=`lsb_release -s -a 2>/dev/null` else # No idea! _RET="[B]" fi } __logo_detail() { MARKUP="false" __logo } __logo() { local logo= if [ -n "$LOGO" ]; then # Allow users to define their own logo in $BYOBU_CONFIG_DIR/status printf "%s" "$LOGO" return fi get_distro local distro="$(echo "$_RET" | $SED 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/')" case "$distro" in *ubuntu*) if $MARKUP; then color m W; printf " U "; color - else printf "\\o/" fi ;; *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 printf " " } # vi: syntax=sh ts=4 noexpandtab