diff options
| -rwxr-xr-x | batterylow | 19 | ||||
| -rwxr-xr-x | sysact | 16 |
2 files changed, 21 insertions, 14 deletions
@@ -1,15 +1,22 @@ #!/bin/sh -# This script sends notifications when battery is low. +# This script sends notifications when battery is low, +# but only while discharging. -# those variables may be unnecessary -export DISPLAY=:0 -export HOME=/home/filipek +battery=$(upower -e | grep BAT | head -n 1) -percentage=$(upower -i "$(upower -e | grep BAT)" | +percentage=$(upower -i "$battery" | awk '/percentage/ {gsub(/%/, "", $2); print $2}') +state=$(upower -i "$battery" | + awk '/state/ {print $2}') + +# Only notify if the battery is discharging +if [ "$state" != "discharging" ]; then + exit 0 +fi + if [ "$percentage" -le 5 ]; then notify-send "Battery very low." -elif [ "$percentage" -ge 14 ] && [ "$percentage" -le 15 ]; then +elif [ "$percentage" -le 15 ]; then notify-send "Battery low." fi @@ -25,12 +25,12 @@ lock(){ case "$(printf "🔒 lock\n🚪 leave $WM\n♻️ renew $WM\n🐻 hibernate\n🔃 reboot\n🖥️shutdown\n💤 sleep\n📺 display off" | dmenu -i -p 'Action: ')" in '🔒 lock') lock ;; -"🚪 leave $WM") kill -TERM "$(wmpid)" ;; -"♻️ renew $WM") kill -HUP "$(wmpid)" ;; -'🐻 hibernate') slock $ctl hibernate -i ;; -'💤 sleep') slock $ctl suspend -i ;; -'🔃 reboot') $ctl reboot -i ;; -'🖥️shutdown') $ctl poweroff -i ;; -'📺 display off') xset dpms force off ;; -*) exit 1 ;; + "🚪 leave $WM") kill -TERM "$(wmpid)" ;; + "♻️ renew $WM") kill -HUP "$(wmpid)" ;; + '🐻 hibernate') slock $ctl hibernate -i ;; + '💤 sleep') slock $ctl suspend -i ;; + '🔃 reboot') $ctl reboot -i ;; + '🖥️shutdown') $ctl poweroff -i ;; + '📺 display off') xset dpms force off ;; + *) exit 1 ;; esac |
