bloodymary/app/discord_native/remotePowerMonitor.js

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();