summaryrefslogtreecommitdiff
path: root/extra/acpid/power-supply-ac
diff options
context:
space:
mode:
authordavidovski <david@davidovski.xyz>2022-03-30 17:54:09 +0100
committerdavidovski <david@davidovski.xyz>2022-03-30 17:54:09 +0100
commitde16da348671bd797500ab144ae56d23e88c7463 (patch)
tree728ec7d354049c977b34d9693109cd5683992a30 /extra/acpid/power-supply-ac
parent9ae31d6c582fbb636625a87d0921fd914f33c05e (diff)
fixed initd files
Diffstat (limited to 'extra/acpid/power-supply-ac')
-rw-r--r--extra/acpid/power-supply-ac25
1 files changed, 25 insertions, 0 deletions
diff --git a/extra/acpid/power-supply-ac b/extra/acpid/power-supply-ac
new file mode 100644
index 0000000..337aae2
--- /dev/null
+++ b/extra/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