dotfiles/scripts/battWarning.sh

38 lines
1.2 KiB
Bash
Raw Normal View History

2024-09-30 10:39:14 +05:00
#!/bin/bash
while true; do
batteryStatus=$(cat /sys/class/power_supply/BAT0/status)
batteryLevel=$(cat /sys/class/power_supply/BAT0/capacity)
currentPowerSetting=$(powerprofilesctl get)
if [ "$batteryLevel" -le "25" ] && [ "$batteryStatus" == "Discharging" ]; then
2024-10-23 08:40:23 +05:00
notify-send -u critical -i ~/dotfiles/scripts/battery-alert.svg "Low Battery" "25% battery remaining"
2024-09-30 10:39:14 +05:00
fi
if [ "$batteryLevel" -le "40" ]; then
if [ "$currentPowerSetting" != "power-saver" ]; then
powerprofilesctl set power-saver
notify-send -t 3000 "Battery Saver Turned On"
fi
elif [ "$batteryLevel" -ge "40" ] && [ "$batteryLevel" -le "75" ]; then
if [ "$currentPowerSetting" != "balanced" ]; then
powerprofilesctl set balanced
notify-send -t 3000 "Battery Saver Turned Off"
fi
elif [ "$batteryLevel" -ge "75" ] && [ "$batteryStatus" == "Charging" ] || [ "$batteryStatus" == "Full" ]; then
if [ "$currentPowerSetting" != "performance" ]; then
powerprofilesctl set performance
notify-send -t 3000 "Performance Mode Turned On"
fi
elif [ "$batteryLevel" -ge "75" ]; then
if [ "$currentPowerSetting" != "balanced" ]; then
powerprofilesctl set balanced
notify-send -t 3000 "Performance Mode Turned Off"
fi
fi
sleep 60
done