Add alternate fullscreen shortcut ⌘+Shift+F (fix #26)
Uses https://npmjs.com/package/electron-localshortcut to workaround a bug in Electron (https://github.com/atom/electron/issues/1334). We can remove `electron-localshortcut` once that bug is fixed.
This commit is contained in:
@@ -4,6 +4,7 @@ var electron = require('electron')
|
|||||||
var ipc = require('./ipc')
|
var ipc = require('./ipc')
|
||||||
var menu = require('./menu')
|
var menu = require('./menu')
|
||||||
var windows = require('./windows')
|
var windows = require('./windows')
|
||||||
|
var shortcuts = require('./shortcuts')
|
||||||
|
|
||||||
var app = electron.app
|
var app = electron.app
|
||||||
|
|
||||||
@@ -15,6 +16,7 @@ app.on('open-url', onOpen)
|
|||||||
app.on('ready', function () {
|
app.on('ready', function () {
|
||||||
electron.Menu.setApplicationMenu(menu.appMenu)
|
electron.Menu.setApplicationMenu(menu.appMenu)
|
||||||
windows.createMainWindow(menu)
|
windows.createMainWindow(menu)
|
||||||
|
shortcuts.init(menu)
|
||||||
})
|
})
|
||||||
|
|
||||||
app.on('activate', function () {
|
app.on('activate', function () {
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
|
module.exports = {
|
||||||
|
init: init
|
||||||
|
}
|
||||||
|
|
||||||
var electron = require('electron')
|
var electron = require('electron')
|
||||||
var debug = require('debug')('webtorrent-app:ipcMain')
|
var debug = require('debug')('webtorrent-app:ipcMain')
|
||||||
var ipcMain = electron.ipcMain
|
var ipcMain = electron.ipcMain
|
||||||
var windows = require('./windows')
|
var windows = require('./windows')
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
init: init
|
|
||||||
}
|
|
||||||
|
|
||||||
function init () {
|
function init () {
|
||||||
ipcMain.on('addTorrentFromPaste', function (e) {
|
ipcMain.on('addTorrentFromPaste', function (e) {
|
||||||
addTorrentFromPaste()
|
addTorrentFromPaste()
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ function onWindowHide () {
|
|||||||
|
|
||||||
function toggleFullScreen () {
|
function toggleFullScreen () {
|
||||||
debug('toggleFullScreen')
|
debug('toggleFullScreen')
|
||||||
if (windows.main) {
|
if (windows.main && windows.main.isVisible()) {
|
||||||
windows.main.setFullScreen(!windows.main.isFullScreen())
|
windows.main.setFullScreen(!windows.main.isFullScreen())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -289,7 +289,8 @@ var menu = {
|
|||||||
appMenu: appMenu,
|
appMenu: appMenu,
|
||||||
onToggleFullScreen: onToggleFullScreen,
|
onToggleFullScreen: onToggleFullScreen,
|
||||||
onWindowHide: onWindowHide,
|
onWindowHide: onWindowHide,
|
||||||
onWindowShow: onWindowShow
|
onWindowShow: onWindowShow,
|
||||||
|
toggleFullScreen: toggleFullScreen
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = menu
|
module.exports = menu
|
||||||
|
|||||||
13
main/shortcuts.js
Normal file
13
main/shortcuts.js
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
module.exports = {
|
||||||
|
init: init
|
||||||
|
}
|
||||||
|
|
||||||
|
var electron = require('electron')
|
||||||
|
var localShortcut = require('electron-localshortcut')
|
||||||
|
|
||||||
|
function init (menu) {
|
||||||
|
// ⌘+Shift+F is an alternative fullscreen shortcut to the one defined in menu.js.
|
||||||
|
// Electron does not support multiple accelerators for a single menu item, so this
|
||||||
|
// is registered separately here.
|
||||||
|
localShortcut.register('CmdOrCtrl+Shift+F', menu.toggleFullScreen)
|
||||||
|
}
|
||||||
@@ -16,6 +16,7 @@
|
|||||||
"create-torrent": "^3.22.1",
|
"create-torrent": "^3.22.1",
|
||||||
"debug": "^2.2.0",
|
"debug": "^2.2.0",
|
||||||
"drag-drop": "^2.3.1",
|
"drag-drop": "^2.3.1",
|
||||||
|
"electron-localshortcut": "^0.6.0",
|
||||||
"hyperx": "^2.0.0",
|
"hyperx": "^2.0.0",
|
||||||
"main-loop": "^3.2.0",
|
"main-loop": "^3.2.0",
|
||||||
"network-address": "^1.1.0",
|
"network-address": "^1.1.0",
|
||||||
|
|||||||
Reference in New Issue
Block a user