summaryrefslogtreecommitdiffstats
path: root/.local/bin/battery-percentage-time
blob: 690afa86b614fa5f7131dced985e91322cd0b337 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/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))