#!/bin/bash

# low battery in %
LOW_BATTERY=»40″

# critical battery in % (execute action)
CRITICAL_BATTERY=»5″

# action
ACTION=»/sbin/poweroff»

# sleep 5 mins
SLEEP=»300″

# display icon
LOWBAT_ICON=»/usr/share/icons/gnome/32×32/status/battery-low.png»
CRITBAT_ICON=»/usr/share/icons/gnome/32×32/status/battery-caution.png»
FULLBAT_ICON=»/usr/share/icons/gnome/32×32/status/battery-full-charged.png»

# path to battery /sys
BATTERY_PATH=»/sys/class/power_supply/BAT0/»

# notify sound
PLAY=»aplay /usr/share/sounds/linuxmint-gdm.wav»

while [ true ]; do
if [ -e «$BATTERY_PATH» ]; then
BATTERY_ON=$(cat $BATTERY_PATH/status)
CURRENT_BATTERY=$(cat $BATTERY_PATH/capacity)

if [ «$BATTERY_ON» == «Discharging» ]; then

if [ «$CURRENT_BATTERY» -lt «$CRITICAL_BATTERY» ]; then
$($PLAY)
notify-send -i «$CRITBAT_ICON» «Battery is Critical – $CURRENT_BATTERY%. Shutting down in 60 sec.»
sleep 60
$($ACTION)

elif [ «$CURRENT_BATTERY» -lt «$LOW_BATTERY» ]; then
$($PLAY)
notify-send -i «$LOWBAT_ICON» «Battery is Low – $CURRENT_BATTERY%.»
fi

elif [ «$BATTERY_ON» == «Full» ]; then
$($PLAY)
notify-send -i «$FULLBAT_ICON» «Battery is Full – 100%.»
fi
fi
sleep $SLEEP
done

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *