if [ -f /proc/apm ]; then
function apm_read
{
APM_STRING=(`cat /proc/apm`)
APM_DRIVER_VERSION=${APM_STRING[0]}
APM_BIOS_VERSION=${APM_STRING[1]}
APM_TIME=${APM_STRING[7]}
if [ $APM_TIME -lt 0 ]; then
APM_NO_BATT=1
APM_PERCENT=0
else
AMP_NO_BATT=0
APM_PERCENT=${APM_STRING[6]%%%*}
fi if [ "${APM_STRING[3]}" == "0x00" ]; then
APM_AC=-
case $APM_PERCENT in
10?) APM_COLOR="1;37" ;;
9?) APM_COLOR="0;34" ;;
8?) APM_COLOR="0;34" ;;
7?) APM_COLOR="0;34" ;;
6?) APM_COLOR="0;34" ;;
5?) APM_COLOR="0;32" ;;
4?) APM_COLOR="0;32" ;;
3?) APM_COLOR="1;33" ;;
2?) APM_COLOR="1;33" ;;
1?) APM_COLOR="0;31" ;;
?) APM_COLOR="0;31;5";;
*) APM_COLOR="0;35" ;;
esac
else
APM_AC=+
APM_COLOR="1;37"
fi
} function apm_dump
{
apm_read
echo "DRIVER_VERSION = $APM_DRIVER_VERSION"
echo "BIOS_VERSION = $APM_BIOS_VERSION"
echo "AC = $APM_AC"
echo "PERCENT = $APM_PERCENT"
echo "TIME = $APM_TIME"
echo "NO_BATT = $AMP_NO_BATT"
echo "COLOR = $APM_COLOR"
} PROMPT_COMMAND=amp_read
if [ "$TERM" == "linux"]; then
PS1="\[\e[\${APM_COLOR}m\]\h\$\[\e[0m\] "
else
PS1="\[\e[1m\](\$APM_AC\$APM_PERCENT%)\h\$\[\e[0m\] "
fifi
Fabio Sirna wrote:
I do some change on the bash script that I've posted few days ago. This works better. It must be in the .bashrc.
.,-''-,..,-''-,..,-''-,..,-''-,..,-''-,..,-''-,..,-''-,..,-''-,. # Color the bash prompt in function of the percentage of battery
# with acpi subsystem.
# Based on the originally apm based script that has been posted
# on debian-laptop by Jason Kraftcheck <[EMAIL PROTECTED]>.
#
# This script is licensed under the GNU GPL version 2 or later,
# see /usr/share/common-licences/GPL on a Debian system or
# http://www.gnu.org/copyleft/gpl.html on the web.
# (c) 2003 Fabio 'farnis' Sirna <[EMAIL PROTECTED]>
function acpi_percent() { if [ `cat /proc/acpi/battery/BAT0/state | grep present: |cut -d\ -f18` = "yes" ]; then { CAPACITY=`cat /proc/acpi/battery/BAT0/info |grep "design capacity:"|cut -d\ -f11` LEVEL=`cat /proc/acpi/battery/BAT0/state | grep remaining|cut -d\ -f8` ACPI_PERCENT=`echo $(( $LEVEL * 100 / $CAPACITY ))` if [ "$LEVEL" = "$CAPACITY" ]; then echo FULL else echo $ACPI_PERCENT% fi } else echo "NO BATTERY" fi }
function acpi_charge() { ACPI_CHARGE=`cat /proc/acpi/ac_adapter/AC/state | cut -d\ -f20` case $ACPI_CHARGE in *on-line*) ACPI_CHARGE="+" ;; *off-line*) ACPI_CHARGE="-" ;; esac echo $ACPI_CHARGE }
function acpi_color()
{
if [ "$(acpi_charge)" = "+" ]; then
{
if [ `cat /proc/acpi/battery/BAT0/state | grep present: |cut -d\ -f18` = "no" ]; then
echo "0;31"
else echo "1;32"
fi
}
else
case $(acpi_percent) in
10?%) echo "0;32" ;;
9?%) echo "0;32" ;;
8?%) echo "0;32" ;;
7?%) echo "0;32" ;;
6?%) echo "0;32" ;;
5?%) echo "0;32" ;;
4?%) echo "0;33" ;;
3?%) echo "0;33" ;;
2?%) echo "0;33" ;;
1?%) echo "0;31" ;; ?%) echo "0;31;5" ;;
*) echo "0;35" ;;
esac
fi
}
function acpi_color_prompt { PS1='\[\e[$(acpi_color)m\][$(acpi_charge)$(acpi_percent)][\t] \u:\w\$>\[\e[0;37m\] ' #PS1="\[\e[$(acpi_color)m\]\h\$\[\e[0m\] " }
# linux console if [ "$TERM" = "linux" ]; then PROMPT_COMMAND=acpi_color_prompt fi
function echo_acpi
{
echo -n "($(acpi_charge)$(acpi_percent)) "
}
.,-''-,..,-''-,..,-''-,..,-''-,..,-''-,..,-''-,..,-''-,..,-''-,.
-- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

