battery_nag.sh, add additional output as well as speeding up the nags as the percentage goes down.

This commit is contained in:
me
2026-08-19 14:43:39 -07:00
parent d58d830206
commit b0620734b6
+29 -3
View File
@@ -4,21 +4,27 @@
echo "`date` - Loading Functions" echo "`date` - Loading Functions"
#which battery.function which battery.function
source battery.function source battery.function
echo "`date` - Parsing Parameters" echo "`date` - Parsing Parameters"
typeset -i alert sleep
# Default to 20%. # Default to 20%.
alert=20 alert=20
if [[ -n "$1" ]]; then if [[ -n "$1" ]]; then
echo -n "alert changed from '$alert' "
alert="$1" alert="$1"
echo "to '$alert'"
fi fi
# Default to 5 minutes. # Default to 5 minutes.
sleep=300 sleep=300
if [[ -n "$2" ]]; then if [[ -n "$2" ]]; then
echo -n "sleep changed from '$sleep' "
sleep="$2" sleep="$2"
echo "to '$sleep'"
fi fi
echo "`date` - Alerting every ${sleep} seconds when under ${alert}%." echo "`date` - Alerting every ${sleep} seconds when under ${alert}%."
@@ -38,10 +44,30 @@ while true; do
$cmd "$title" "$message" $cmd "$title" "$message"
status="$?" status="$?"
echo "`date` - Nag returned status ${status}." if [[ "$status" == 0 ]]; then
echo -n "`date` - Success! "
else
echo -n "`date` - ERROR: "
fi
echo "Nag returned status ${status}."
else else
echo "`date` - Battery at ${batt}%, did not nag." echo "`date` - Battery at ${batt}%, did not nag."
fi fi
sleep $sleep time=$sleep
if (( batt <= 2 )); then
echo "Battery under 2, 16x speed."
time=$(( sleep / 16 ))
elif (( batt <= 5 )); then
echo "Battery under 5, 8x speed."
time=$(( sleep / 8 ))
elif (( batt <= 8 )); then
echo "Battery under 8, 4x speed."
time=$(( sleep / 4 ))
elif (( batt <= 10 )); then
echo "Battery under 10, 2x speed."
time=$(( sleep / 2 ))
fi
echo "`date` - Sleeping for ${time}"
sleep $time
done done