summaryrefslogtreecommitdiffstats
path: root/.local/bin/battery-percentage-time
blob: b0122a8307cd216c1187bc221bb9aecb0a057e31 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh

dbus_send() {
	label=$1
	dbus-send --print-reply=literal --system \
		--dest=org.freedesktop.UPower \
		/org/freedesktop/UPower/devices/battery_BAT0 \
		org.freedesktop.DBus.Properties.Get \
		string:org.freedesktop.UPower.Device \
		string:"${label}" | awk '{print $3}'
}

perc=$(dbus_send 'Percentage')
state=$(dbus_send 'State')

if [ "$state" -eq 2 ]; then  # Discharging
	secs=$(dbus_send 'TimeToEmpty')
elif [ "$state" -eq 1 ]; then  # Charging
	secs=$(dbus_send 'TimeToFull')
fi

printf '%s%%%%%2dh%02dm \n' "$perc" $((secs / 3600)) $((secs % 3600 / 60))