Aqui está um pequeno programa python que usa o terminal para examinar o arquivo para o status da bateria e manipula a operação com a função definida. Isso funcionará para o caso geral, mas, no entanto, pode haver um pequeno problema. Ele usa o pacote " acpi
", que monitora o status da bateria. O programa é:
import commands
import pynotify
from threading import Timer
def battery_check():
rem = float(commands.getoutput("grep \"^remaining capacity\" /proc/acpi/battery/BAT0/state | awk '{ print $3 }'"))
full = float(commands.getoutput("grep \"^last full capacity\" /proc/acpi/battery/BAT0/info | awk '{ print $4 }'"))
state = commands.getoutput("grep \"^charging state\" /proc/acpi/battery/BAT0/state | awk '{ print $3 }'")
percentage = int((rem/full) * 100)
if percentage == 100:
pynotify.init("Battery Full! Now shutting down")
os.system("sudo shutdown now -h -k") //shutdown command issued
timer = Timer(300.0,battery_check)
timer.start()
if __name__ == "__main__": battery_check()