Block "Power Saver" mode while video is playing

fix #106
This commit is contained in:
Nate Goldman
2016-03-11 16:43:34 -08:00
parent ca2236da84
commit 52fc2d88c9
3 changed files with 18 additions and 0 deletions

View File

@@ -9,6 +9,10 @@ var windows = require('./windows')
var app = electron.app
var ipcMain = electron.ipcMain
var powerSaveBlocker = electron.powerSaveBlocker
// has to be a number, not a boolean, and undefined throws an error
var powerSaveBlocked = 0
function init () {
ipcMain.on('showOpenTorrentFile', function (e) {
@@ -42,6 +46,16 @@ function init () {
ipcMain.on('log', function (e, message) {
console.log(message)
})
ipcMain.on('playing-video', function (e) {
powerSaveBlocked = powerSaveBlocker.start('prevent-display-sleep')
})
ipcMain.on('paused-video', function (e) {
if (powerSaveBlocker.isStarted(powerSaveBlocked)) {
powerSaveBlocker.stop(powerSaveBlocked)
}
})
}
function setBounds (bounds) {

View File

@@ -206,6 +206,9 @@ function dispatch (action, ...args) {
state.video.isPaused = true
update()
}
if (action === 'videoPlaying') {
ipcRenderer.send('playing-video')
}
if (action === 'videoPaused') {
ipcRenderer.send('paused-video')
}

View File

@@ -36,6 +36,7 @@ function Player (state, dispatch) {
ondblclick=${() => dispatch('toggleFullScreen')}
onloadedmetadata=${onLoadedMetadata}
onended=${onEnded}
onplay=${() => dispatch('videoPlaying')}
onpause=${() => dispatch('videoPaused')}
autoplay>
</video>