Remove global shortcuts when player isn't active
This commit is contained in:
11
main/ipc.js
11
main/ipc.js
@@ -12,6 +12,7 @@ var powerSaveBlocker = electron.powerSaveBlocker
|
|||||||
var log = require('./log')
|
var log = require('./log')
|
||||||
var menu = require('./menu')
|
var menu = require('./menu')
|
||||||
var windows = require('./windows')
|
var windows = require('./windows')
|
||||||
|
var shortcuts = require('./shortcuts')
|
||||||
|
|
||||||
// has to be a number, not a boolean, and undefined throws an error
|
// has to be a number, not a boolean, and undefined throws an error
|
||||||
var powerSaveBlockID = 0
|
var powerSaveBlockID = 0
|
||||||
@@ -61,8 +62,14 @@ function init () {
|
|||||||
ipcMain.on('blockPowerSave', blockPowerSave)
|
ipcMain.on('blockPowerSave', blockPowerSave)
|
||||||
ipcMain.on('unblockPowerSave', unblockPowerSave)
|
ipcMain.on('unblockPowerSave', unblockPowerSave)
|
||||||
|
|
||||||
ipcMain.on('onPlayerOpen', menu.onPlayerOpen)
|
ipcMain.on('onPlayerOpen', function () {
|
||||||
ipcMain.on('onPlayerClose', menu.onPlayerClose)
|
menu.onPlayerOpen()
|
||||||
|
shortcuts.registerPlayerShortcuts()
|
||||||
|
})
|
||||||
|
ipcMain.on('onPlayerClose', function () {
|
||||||
|
menu.onPlayerClose()
|
||||||
|
shortcuts.unregisterPlayerShortcuts()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function setBounds (bounds, maximize) {
|
function setBounds (bounds, maximize) {
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
init
|
init,
|
||||||
|
registerPlayerShortcuts,
|
||||||
|
unregisterPlayerShortcuts
|
||||||
}
|
}
|
||||||
|
|
||||||
var electron = require('electron')
|
var electron = require('electron')
|
||||||
@@ -11,11 +13,17 @@ var menu = require('./menu')
|
|||||||
var windows = require('./windows')
|
var windows = require('./windows')
|
||||||
|
|
||||||
function init () {
|
function init () {
|
||||||
// Special "media key" for play/pause, available on some keyboards
|
|
||||||
globalShortcut.register('MediaPlayPause', () => windows.main.send('dispatch', 'playPause'))
|
|
||||||
|
|
||||||
// ⌘+Shift+F is an alternative fullscreen shortcut to the ones defined in menu.js.
|
// ⌘+Shift+F is an alternative fullscreen shortcut to the ones defined in menu.js.
|
||||||
// Electron does not support multiple accelerators for a single menu item, so this
|
// Electron does not support multiple accelerators for a single menu item, so this
|
||||||
// is registered separately here.
|
// is registered separately here.
|
||||||
localShortcut.register('CmdOrCtrl+Shift+F', menu.toggleFullScreen)
|
localShortcut.register('CmdOrCtrl+Shift+F', menu.toggleFullScreen)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function registerPlayerShortcuts () {
|
||||||
|
// Special "media key" for play/pause, available on some keyboards
|
||||||
|
globalShortcut.register('MediaPlayPause', () => windows.main.send('dispatch', 'playPause'))
|
||||||
|
}
|
||||||
|
|
||||||
|
function unregisterPlayerShortcuts () {
|
||||||
|
globalShortcut.unregister('MediaPlayPause')
|
||||||
|
}
|
||||||
|
|||||||
@@ -286,12 +286,10 @@ function dispatch (action, ...args) {
|
|||||||
}
|
}
|
||||||
if (action === 'mediaStalled') {
|
if (action === 'mediaStalled') {
|
||||||
state.playing.isStalled = true
|
state.playing.isStalled = true
|
||||||
update()
|
|
||||||
}
|
}
|
||||||
if (action === 'mediaTimeUpdate') {
|
if (action === 'mediaTimeUpdate') {
|
||||||
state.playing.lastTimeUpdate = new Date().getTime()
|
state.playing.lastTimeUpdate = new Date().getTime()
|
||||||
state.playing.isStalled = false
|
state.playing.isStalled = false
|
||||||
update()
|
|
||||||
}
|
}
|
||||||
if (action === 'toggleFullScreen') {
|
if (action === 'toggleFullScreen') {
|
||||||
ipcRenderer.send('toggleFullScreen', args[0] /* optional bool */)
|
ipcRenderer.send('toggleFullScreen', args[0] /* optional bool */)
|
||||||
@@ -336,7 +334,6 @@ function playPause (isPaused) {
|
|||||||
Cast.playPause()
|
Cast.playPause()
|
||||||
}
|
}
|
||||||
state.playing.isPaused = !state.playing.isPaused
|
state.playing.isPaused = !state.playing.isPaused
|
||||||
update()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function jumpToTime (time) {
|
function jumpToTime (time) {
|
||||||
@@ -344,7 +341,6 @@ function jumpToTime (time) {
|
|||||||
Cast.seek(time)
|
Cast.seek(time)
|
||||||
} else {
|
} else {
|
||||||
state.playing.jumpToTime = time
|
state.playing.jumpToTime = time
|
||||||
update()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -360,7 +356,6 @@ function setVolume (volume) {
|
|||||||
Cast.setVolume(volume)
|
Cast.setVolume(volume)
|
||||||
} else {
|
} else {
|
||||||
state.playing.setVolume = volume
|
state.playing.setVolume = volume
|
||||||
update()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user