def handlePowerStatusChange(self): #Mostly taken from script_say_battery_status, but modified. import ui import winKernel sps = winKernel.SYSTEM_POWER_STATUS() if not winKernel.GetSystemPowerStatus( sps) or sps.BatteryFlag is self.UNKNOWN_BATTERY_STATUS: return if sps.BatteryFlag & self.NO_SYSTEM_BATTERY: return if self.oldBatteryStatus is None: #Just initializing the cache, do not report anything. self.oldBatteryStatus = sps.ACLineStatus return if sps.ACLineStatus == self.oldBatteryStatus: #Sometimes, this double fires. This also fires when the battery level decreases by 3%. return self.oldBatteryStatus = sps.ACLineStatus if sps.ACLineStatus & self.AC_ONLINE: #Translators: Reported when the battery is plugged in, and now is charging. ui.message( _("Charging battery. %d percent") % sps.BatteryLifePercent) else: #Translators: Reported when the battery is no longer plugged in, and now is not charging. ui.message( _("Not charging battery. %d percent") % sps.BatteryLifePercent)
def handlePowerStatusChange(self): sps = winKernel.SYSTEM_POWER_STATUS() if not winKernel.GetSystemPowerStatus( sps ) or sps.BatteryFlag is self.UNKNOWN_BATTERY_STATUS or sps.BatteryFlag & self.NO_SYSTEM_BATTERY or sps.ACLineStatus == self.oldBatteryStatus: return if self.oldBatteryStatus is None: self.oldBatteryStatus = sps.ACLineStatus return self.oldBatteryStatus = sps.ACLineStatus if sps.ACLineStatus & self.AC_ONLINE: # Notiffication when the battery is plugged in, and now is charging. tones.beep(1120, 120, 50) else: tones.beep(280, 120, 50)