diff options
Diffstat (limited to 'repo/system/acpid/power-supply-ac')
-rw-r--r-- | repo/system/acpid/power-supply-ac | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/repo/system/acpid/power-supply-ac b/repo/system/acpid/power-supply-ac new file mode 100644 index 0000000..337aae2 --- /dev/null +++ b/repo/system/acpid/power-supply-ac @@ -0,0 +1,25 @@ +#!/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 + [ -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 |