'use strict'; const electron = require('electron'); const EventEmitter = require('events'); const remotePowerMonitor = electron.remote.powerMonitor; class RemotePowerMonitor extends EventEmitter { constructor() { super(); remotePowerMonitor.on('resume', () => { this.emit('resume'); }); remotePowerMonitor.on('suspend', () => { this.emit('suspend'); }); remotePowerMonitor.on('lock-screen', () => { this.emit('lock-screen'); }); remotePowerMonitor.on('unlock-screen', () => { this.emit('unlock-screen'); }); } removeAllListeners() { remotePowerMonitor.removeAllListeners(); super.removeAllListeners(); } getSystemIdleTimeMs() { if (remotePowerMonitor.getSystemIdleTime != null) { return remotePowerMonitor.getSystemIdleTime() * 1000; } else { return 0; } } } module.exports = new RemotePowerMonitor();