clean up battery code
This commit is contained in:
parent
407ea45346
commit
5b0230806b
@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# this is a dirty hack.
|
# this is a dirty hack.
|
||||||
# acpi | awk '{print $4}' will print the battery percentage,
|
# acpi | awk '{print $4}' will print the battery percentage, stripping the
|
||||||
# and s/,$// strips the trailing comma.
|
# trailing comma
|
||||||
acpi | awk '{print $4}' | sed 's/,$//'
|
acpi | awk '{sub(",$", "", $4); print $4}'
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
envstat -s acpibat0:charge \
|
envstat -s acpibat0:charge \
|
||||||
| sed 1,2d \
|
| awk '
|
||||||
| cut -d ':' -f 2 \
|
NR == 3 {
|
||||||
| awk '{print $1}' \
|
sub("^[^:]*:", "", $1);
|
||||||
| cut -d '.' -f 1
|
sub(":.*", "", $1);
|
||||||
|
sub("\\..*", "", $1);
|
||||||
|
print $1;
|
||||||
|
}'
|
||||||
|
@ -1,33 +1,31 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
POLLING_FREQUENCY=1
|
POLLING_FREQUENCY=1
|
||||||
|
|
||||||
# ISO 8601
|
|
||||||
alias date="date '+%Y-%m-%dT%T'"
|
|
||||||
|
|
||||||
emit() {
|
alias date='printf "[%s] " "$(date +%Y-%m-%dT%T)"' # ISO 8601
|
||||||
printf "[%s] " "$(date)"
|
|
||||||
echo "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
! battery >/dev/null 2>&1 \
|
! battery >/dev/null 2>&1 \
|
||||||
&& printf "Unable to get battery status on this system.\n" 1>&2 \
|
&& ! printf "%s: Unable to get battery status on this system.\n" "$0" \
|
||||||
&& exit 1 \
|
1>&2
|
||||||
|| true
|
|
||||||
|
|
||||||
current_level=$(battery)
|
current_level="$(battery)"
|
||||||
previous_level=$current_level
|
previous_level="$current_level"
|
||||||
|
|
||||||
emit "$(printf "Current level: %d%%" "$current_level")"
|
date; printf "Current level: %d%%\n" "$current_level"
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
current_level=$(battery)
|
current_level="$(battery)"
|
||||||
if ! streq $current_level $previous_level; then
|
date; if ! streq "$current_level" "$previous_level"; then
|
||||||
[ $current_level -lt $previous_level ] \
|
printf '%s: %s%% -> %s%%\n' "$(
|
||||||
&& emit "$(printf "Discharged: %d%% -> %d%%\n" $previous_level $current_level )" \
|
test "$current_level" -lt "$previous_level" \
|
||||||
|| emit "$(printf " Charged: %d%% -> %d%%\n" $previous_level $current_level )"
|
&& printf 'Discharged' \
|
||||||
|
|| printf ' Charged')" \
|
||||||
|
"$previous_level" "$current_level"
|
||||||
previous_level=$current_level
|
previous_level=$current_level
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sleep $POLLING_FREQUENCY
|
sleep "$POLLING_FREQUENCY"
|
||||||
done
|
done
|
||||||
|
Loading…
Reference in New Issue
Block a user