Electron加上快捷鍵 / Hotkeys in an Electron Application
如果想要為electron應用程式加上快捷鍵的話,要怎麼做好呢?
globalShortcut
https://github.com/electron/electron/issues/8491
很久以前我是用 electron.globalShortcut。用法如下:
const globalShortcut = electron.globalShortcut
let window = new BrowserWindow()
window.loadURL(someUrl)
globalShortcut.register('Ctrl+R', () => {
window.webContents.reload()
})
但是globalShortcut的問題是,不論現在是否在操作electron應用程式,globalShortcut會捕捉所有的鍵盤操作。
這就有點麻煩了。
解決方案 / Solution
https://github.com/electron/electron/issues/8491#issuecomment-1002515761
還好下面daaru00提供了另一種思考方式:
- 在操作electron應用程式時(blorder-window-focus),註冊globalShortcut
- 在操作不是electron的應用程式時(blorder-window-blur),取消註冊globalShortcut
還蠻合理的。
https://www.npmjs.com/package/electron-localshortcut
不過更合理的是使用electron-localshortcut。
怎麼會傻到使用globalShortcut呢 orz
還有人在用electron開發應用程式嗎?
下面舉個手吧。