aports/main/acpid/power-supply-ac

30 lines
729 B
Bash

#!/bin/sh
# This script exits with status 0 when the computer is on AC power (or no AC
# power supply found), 1 otherwise (i.e. running on battery).
set -u
verbose=false
[ "${1:-}" = '-v' ] && verbose=true
# If we do not have any power supplies, assume we are on AC.
rc=0
# Iterate through power supplies sysfs knows about.
for ps in /sys/class/power_supply/*; do
# Ignore batteries.
[ -r $ps/type ] && [ "$(cat $ps/type)" = 'Battery' ] && continue
# Ignore when no online info (we return 0 when no AC power found).
[ -r $ps/online ] || continue
# We know we have an AC adaptor, our default return changes to failed.
rc=1
if [ "$(cat $ps/online)" -eq 1 ]; then
rc=0
break
fi
done
$verbose && echo $rc
exit $rc