def power_broadcast_event(self, wParam, lParam): log("WM_POWERBROADCAST: %s/%s", POWER_EVENTS.get(wParam, wParam), lParam) if wParam==win32con.PBT_APMSUSPEND: log.info("WM_POWERBROADCAST: PBT_APMSUSPEND") for source in self._server_sources.values(): source.may_notify(XPRA_IDLE_NOTIFICATION_ID, "Server Suspending", "This Xpra server is going to suspend,\nthe connection is likely to be interrupted soon.", expire_timeout=10*1000, icon_name="shutdown") elif wParam==win32con.PBT_APMRESUMEAUTOMATIC: log.info("WM_POWERBROADCAST: PBT_APMRESUMEAUTOMATIC")
def power_broadcast_event(self, wParam, lParam): c = self.client log("WM_POWERBROADCAST: %s/%s client=%s", POWER_EVENTS.get(wParam, wParam), lParam, c) #maybe also "PBT_APMQUERYSUSPEND" and "PBT_APMQUERYSTANDBY"? if wParam == win32con.PBT_APMSUSPEND and c: c.suspend() #According to the documentation: #The system always sends a PBT_APMRESUMEAUTOMATIC message whenever the system resumes. elif wParam == win32con.PBT_APMRESUMEAUTOMATIC and c: c.resume()