Re: needed: on_ac_power script
According to Harry Barnes,
> Hi,
>
> I was recently convinced to try gentoo on my laptop - which i did and i am
> currently trying to tweak it back to its debian days. My current install
> does not have the useful on_ac_power script and i can't find it on the
> gentoo portage tree.
>
> Can someone please, e-mail me the script - I rather not hack together my
> own version of it.
>
> TIA
>
> -Harry
sanity$ dpkg --search on_ac_power
powermgmt-base: /usr/share/man/man1/on_ac_power.1.gz
powermgmt-base: /usr/bin/on_ac_power
sanity$ cat $(which on_ac_power)
#!/bin/sh
#
# Returns 0 (true) if on AC power
# 1 (false) if not on AC power
# 255 (false) if can't tell
#
# Example shell script:
# if on_ac_power; then
# echo We're on AC power
# else
# echo Can't say we're on AC power
# fi
set -e
# ACPI
#
# This algorithm is complicated by the possibility of
# multiple AC
# adapters. We scan the ac_adapter directory looking for
# adapters
# that have known states. If any adapter is on-line, we
# return 0. If
# no adapters are on-line but one or more are off-line, we
# return 1.
#
if acpi_available && [ -d /proc/acpi/ac_adapter ]; then
OFF_LINE_P=no
for FN in /proc/acpi/ac_adapter/*; do
if [ -d "${FN}" ]; then
if [ -r "${FN}/state" ]; then
grep --quiet on-line "${FN}/state" && exit 0
grep --quiet off-line "${FN}/state" &&
OFF_LINE_P=yes
elif [ -r "${FN}/status" ]; then
grep --quiet on-line "${FN}/status" && exit
0
grep --quiet off-line "${FN}/status" &&
OFF_LINE_P=yes
fi
fi
done
[ "${OFF_LINE_P}" = "yes" ] && exit 1
fi
# APM
if apm_available && [ -r /proc/apm ]; then
exec awk </proc/apm '
BEGIN { ret = 255 }
/^[0-9.a-zA-Z]* [0-9.]* 0x.. 0x../ {
if ($4 == "0x01") { ret = 0; exit }
else if ($4 == "0x00") { ret = 1; exit }
}
END { exit ret }
'
fi
# PMU
if [ -r /proc/pmu/info ]; then
exec awk </proc/pmu/info '
BEGIN { ret = 255 }
/^AC Power.*1$/ { ret = 0; exit }
/^AC Power.*0$/ { ret = 1; exit }
END { exit ret }
'
fi
# nothing is available
exit 255
:!
Reply to: