diff --git a/battery-monitor.sh b/battery-monitor.sh index 3f0f4d7..7b18bac 100755 --- a/battery-monitor.sh +++ b/battery-monitor.sh @@ -1,7 +1,12 @@ #/bin/bash # battery-monitor.sh -# This program lets the user know when the battery needs to be charged. + +# This program lets the user know when the battery needs to be charged, and +# suspends the computer once a user defined minimum is reached. It has been +# tested to work on a Debian 12 GNU/Linux x86_64 default console +# installation. The installation of bc is required. + # Copyright (c) 2024, Scott C. MacCallum (scott@scm-guru.live). # This program is free software: you can redistribute it and/or modify @@ -17,19 +22,25 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -# To do. Add code to verify that the user is root, or has run the script with +# To do. Add code to verify that the user is root or has run the script with # sudo. Add code to verify that the bc program is installed. # Change this variable to the group that should be informed of a need to # charge the battery. On GNU/Linux distributions users are often part of # a group that is the same as their login name, which works well if you only -# want your user to be informed. +# want your user to be informed in the console. -group="" +group="scm" -# Change the battery variable to your batteries identification e.g. BAT0. +# Change the battery variable to your batteries identification. -battery="" +battery="BAT0" + +# If the battery is fully charged. + +if (( minutes == 0 )); then + exit 0 +fi charge=$(cat /sys/class/power_supply/$battery/charge_now) discharge=$(cat /sys/class/power_supply/$battery/current_now) @@ -37,17 +48,21 @@ hours=$(echo "scale=2; $charge / $discharge" | bc -l) minutes=$(echo "scale=2; $hours * 60" | bc -l) # Change the minimum variable to the minimum amount of minutes that a battery -# has left before the group is informed to recharge it e.g. 40.00. When I -# tested this and the battery-suspend.sh script, I was surprised to discover -# that the computer turned off despite having reported that there was 10 -# minutes left! I created the battery-status.sh script to aid in my +# is estimated to have left before the group is informed to recharge it. When +# I tested this and the battery-suspend.sh script, I was surprised to +# discover that the computer turned off despite having reported that there +# was 10 minutes left! I created the battery-status.sh script to aid in my # understanding of what was going on, and I discovered a variance of about 10 -# minutes plus/minus each time that I ran it. Keep the minus 10 minutes in -# mind when setting the minimum value. +# minutes plus/minus each time that I ran it, so the system is clearly making +# an estimate. Keep the minus 10 minutes in mind when setting the minimum +# value. -# YOU'VE BEEN WARNED! +# Change this variable to you liking, but less than 40.00 is likely a bad +# idea. YOU'VE BEEN WARNED! -minimum= +minimum=40.00 + +If the minutes of charge are less that the minimum. if (( $(echo "$minutes < $minimum" | bc -l) )); then echo "Suspending the computer! Battery charge is needed!" | wall -g $group diff --git a/config-font b/config-console-font similarity index 100% rename from config-font rename to config-console-font diff --git a/touchpad-tap.sh b/config-touchpad-tap.sh similarity index 100% rename from touchpad-tap.sh rename to config-touchpad-tap.sh diff --git a/install-pkg b/install-text-package.sh similarity index 100% rename from install-pkg rename to install-text-package.sh