42 lines
914 B
JavaScript
42 lines
914 B
JavaScript
'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(); |