aboutsummaryrefslogtreecommitdiff
path: root/dot.local-bin-batt
diff options
context:
space:
mode:
authorThomas Schneider <qsx@chaotikum.eu>2024-09-11 21:52:27 +0200
committerThomas Schneider <qsx@chaotikum.eu>2024-09-11 21:52:27 +0200
commit3e1c65e72ed1391200aa6ad4471a0b8d3634ff78 (patch)
tree2875907d143ec2e64424cbe18e222e5943dd9031 /dot.local-bin-batt
parent814a35d77d0bcd4cc3d8d577bb11cc1cc5519a37 (diff)
parent1d22be5e4469dd04dddd823ab3672dcbed591c4c (diff)
Merge remote-tracking branch 'refs/remotes/origin/main'
Diffstat (limited to 'dot.local-bin-batt')
-rwxr-xr-xdot.local-bin-batt35
1 files changed, 35 insertions, 0 deletions
diff --git a/dot.local-bin-batt b/dot.local-bin-batt
new file mode 100755
index 0000000..415afba
--- /dev/null
+++ b/dot.local-bin-batt
@@ -0,0 +1,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))