diff --git a/src/extensions/main-api/power.ts b/src/extensions/main-api/power.ts index a14ddb0695..d433537742 100644 --- a/src/extensions/main-api/power.ts +++ b/src/extensions/main-api/power.ts @@ -2,5 +2,30 @@ * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ -export { powerMonitor } from "electron"; +import { powerMonitor } from "electron"; +import type { Disposer } from "../../common/utils/disposer"; +type PowerEventListener = () => void; +export const onSuspend = (listener: PowerEventListener): Disposer => { + powerMonitor.on("suspend", listener); + + return () => { + powerMonitor.off("suspend", listener); + }; +}; + +export const onResume = (listener: PowerEventListener): Disposer => { + powerMonitor.on("resume", listener); + + return () => { + powerMonitor.off("resume", listener); + }; +}; + +export const onShutdown = (listener: PowerEventListener): Disposer => { + powerMonitor.on("shutdown", listener); + + return () => { + powerMonitor.off("shutdown", listener); + }; +};