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