Files
nixos/modules/non-nix_configs/waybar/scripts/battery-warn.py
T

29 lines
875 B
Python
Executable File

#!/usr/bin/env python
import os
import sys
discharging = str("discharging")
def alert(id):
stream = os.popen("cat /sys/class/power_supply/BAT0/capacity")
output = stream.read()
battery = int(output.split('\n')[0])
stream = os.popen("cat /sys/class/power_supply/BAT0/status")
output = stream.read()
status = str(output.split('\n')[0]).lower().strip()
if battery <= 10 and status == discharging:
os.system(f'dunstify -u critical "Low Battery" "Connect Power Adapter" -i /usr/share/icons/Adwaita/symbolic/status/battery-caution-symbolic.svg -r {id} -t 60000')
else:
stream = os.popen(f'dunstctl history | grep {id}')
output = stream.read()
if output.strip() != '':
os.system('dunstctl close')
os.system(f'dunstctl history-rm {id}')
if __name__ == "__main__":
alert(int(sys.argv[1]))