-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbattery-notify.sh
executable file
·67 lines (57 loc) · 2.04 KB
/
battery-notify.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/bin/bash -l
# - - - - - - - - - - - - - -
# | |
# | Verify status of battery |
# | |
# - - - - - - - - - - - - - -
# Sets default values for variables
PERCENT_CRITICAL_DEFAULT=30
PERCENT_FULL_DEFAULT=100
NOTIFY_PATH_LOG="/tmp/battery_notify.conf"
# Get battery information
NOTIFY_LANGUAGE=$(locale | grep -Eo '^LANGUAGE=\w{5}' | cut -d '=' -f 2)
NOTIFY_PERCENT=$(cat /sys/class/power_supply/BAT0/capacity)
NOTIFY_STATUS=$(cat /sys/class/power_supply/BAT0/status)
NOTIFICATION=$(cat $NOTIFY_PATH_LOG || echo 'listen')
if [ "$NOTIFY_PERCENT" -gt "${NOTIFY_PERCENT_CRITICAL:-$PERCENT_CRITICAL_DEFAULT}" ] &&
[ "$NOTIFY_PERCENT" -lt "${NOTIFY_PERCENT_LOW:-$PERCENT_FULL_DEFAULT}" ]; then
echo "listen" >$NOTIFY_PATH_LOG
fi
if [ "$NOTIFY_PERCENT" -le "${NOTIFY_PERCENT_CRITICAL:-$PERCENT_CRITICAL_DEFAULT}" ] &&
[ "$NOTIFY_STATUS" = "Discharging" ] && [ "$NOTIFICATION" = "listen" ]; then
if [ "$NOTIFY_LANGUAGE" == "pt_BR" ]; then
notify-send \
-u critical \
-t 50000 \
-i battery-caution \
"Bateria em $NOTIFY_PERCENT%" \
"É recomendado recarregar a bateria"
else
notify-send \
-u critical \
-t 50000 \
-i battery-caution \
"$NOTIFY_PERCENT% battery" \
"It is recommended to recharge the battery"
fi
echo "not-listen" >$NOTIFY_PATH_LOG
fi
if [ "$NOTIFY_PERCENT" -ge "${NOTIFY_PERCENT_LOW:-$PERCENT_FULL_DEFAULT}" ] &&
[ "$NOTIFY_STATUS" = "Charging" ] && [ "$NOTIFICATION" = "listen" ]; then
if [ "$NOTIFY_LANGUAGE" == "pt_BR" ]; then
notify-send \
-u low \
-t 50000 \
-i battery-full \
'Bateria cheia' \
'Retire o carregador da tomada'
else
notify-send \
-u low \
-t 50000 \
-i battery-full \
'Battery full' \
'Remove the charger from the socket'
fi
echo "not-listen" >$NOTIFY_PATH_LOG
fi