# Created with Pyto import widgets as wd import sf_symbols as sf import sys from datetime import time from UIKit import UIDevice from background import BackgroundTask from threading import Thread if "monitoring_battery" in sys.modules: print("Already monitoring") raise SystemExit sys.modules["monitoring_battery"] = True BACKGROUND = wd.Color.rgb(255/255, 250/255, 227/255) FOREGROUND = wd.Color.rgb(75/255, 72/255, 55/255) device = UIDevice.currentDevice device.setBatteryMonitoringEnabled(True) def monitor(bg): prev_battery = None while True: battery = int(float(device.batteryLevel)*100) if battery == prev_battery: bg.wait(60) continue prev_battery = battery widget = wd.Widget() if battery <= 0.1: symbol = sf.BATTERY_0 elif battery <= 0.5: symbol = sf.BATTERY_25 else: symbol = sf.BATTERY_100 battery_symbol = wd.SystemSymbol( symbol, color=FOREGROUND, padding=wd.PADDING_ALL, font_size=70 ) battery_level = wd.Text( str(battery)+"%", color=FOREGROUND, font=wd.Font("AmericanTypewriter-Bold", 25), ) for layout in [ widget.small_layout, widget.medium_layout, widget.large_layout]: layout.add_row([battery_symbol]) layout.add_row([battery_level]) layout.set_background_color(BACKGROUND) wd.save_widget(widget, "Battery") def monitor_in_background(): with BackgroundTask() as bg: monitor(bg) Thread(target=monitor_in_background).start()