-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathac_notify.sh
More file actions
99 lines (83 loc) · 1.72 KB
/
ac_notify.sh
File metadata and controls
99 lines (83 loc) · 1.72 KB
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#!/bin/bash
uid=$(id -u)
export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$uid/bus"
APP_NAME="power"
ID=9999
TIMEOUT=5000
ICON_BASE="/usr/share/icons/Tela-circle-nord"
SOUND="/usr/share/sounds/freedesktop/stereo/message.oga"
makoctl dismiss -a "$APP_NAME"
show_help() {
cat <<EOF
Usage: $0 <event> [percentage]
Events:
plugged Charger plugged in
unplugged Charger unplugged
low <percent> Low battery warning
critical <percent> Critical battery warning
full Battery fully charged
Examples:
$0 unplugged
$0 plugged
$0 low 15
$0 critical 5
$0 full
EOF
}
notify() {
local title="$1"
local body="$2"
local icon="$3"
local urgency="${4:-normal}"
notify-send -a "$APP_NAME" \
-r "$ID" \
-t "$TIMEOUT" \
-u "$urgency" \
-i "$icon" \
"$title" "$body"
}
case "$1" in
plugged)
notify \
"Charger Plugged In" \
"AC power connected." \
"$ICON_BASE/24/panel/battery-070-charging.svg"
;;
unplugged)
notify \
"Charger Unplugged" \
"Running on battery now!" \
"$ICON_BASE/symbolic/status/process-error-symbolic.svg"
;;
low)
PERCENT="${2:-unknown}"
notify \
"Low Battery" \
"Battery level is ${PERCENT}%." \
"$ICON_BASE/24/panel/battery-020.svg" \
"normal"
;;
critical)
PERCENT="${2:-unknown}"
notify \
"Critical Battery" \
"Battery critically low (${PERCENT}%). Plug in charger!" \
"$ICON_BASE/24/panel/battery-empty.svg" \
"critical"
paplay "$SOUND" 2>/dev/null &
;;
full)
notify \
"Battery Full" \
"You can unplug the charger." \
"$ICON_BASE/24/panel/battery-100-charged.svg"
;;
-h | --help | "")
show_help
;;
*)
echo "Unknown option: $1"
show_help
exit 1
;;
esac