aboutsummaryrefslogtreecommitdiff
path: root/dot.local-bin-batt
blob: 415afba2646f22c7925b5e27c62a4525f0d3a924 (plain) (blame)
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
#!/usr/bin/env python3

import datetime

import gi

gi.require_version("UPowerGlib", "1.0")
from gi.repository import UPowerGlib as upower

client = upower.Client.new()
dev = client.get_display_device()

items = []

pct = dev.get_property("percentage")
energy = dev.get_property("energy")
energy_full = dev.get_property("energy-full")
items.append(f"{pct} % ({energy:.4g} Wh / {energy_full:.4g} Wh), ")

state = upower.Device.state_to_string(dev.get_property("state"))
items.append(state)

energy_rate = dev.get_property("energy-rate")
if energy_rate != 0:
    items.append(f" @ {energy_rate:.4g} W")

time_to_empty = dev.get_property("time-to-empty")
if time_to_empty > 0:
    items.append(f", {datetime.timedelta(seconds=time_to_empty)} until empty")

time_to_full = dev.get_property("time-to-full")
if time_to_full > 0:
    items.append(f", {datetime.timedelta(seconds=time_to_full)} until full")

print("".join(items))