mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-13 17:56:25 +00:00
65 lines
1.5 KiB
JavaScript
65 lines
1.5 KiB
JavaScript
const electron = require('electron')
|
|
const ipc = electron.ipcMain
|
|
const Menu = electron.Menu
|
|
const globalShortcut = electron.globalShortcut
|
|
const mainWindow = require('./main-window')
|
|
const nodeIpc = require('@rokt33r/node-ipc')
|
|
|
|
function emitToFinder (type, data) {
|
|
var payload = {
|
|
type: type,
|
|
data: data
|
|
}
|
|
|
|
nodeIpc.server.broadcast('message', payload)
|
|
}
|
|
|
|
function toggleFinder () {
|
|
emitToFinder('open-finder')
|
|
mainWindow.webContents.send('open-finder', {})
|
|
}
|
|
|
|
function toggleMain () {
|
|
if (mainWindow.isFocused()) {
|
|
if (process.platform === 'darwin') {
|
|
Menu.sendActionToFirstResponder('hide:')
|
|
} else {
|
|
mainWindow.minimize()
|
|
}
|
|
} else {
|
|
if (process.platform === 'darwin') {
|
|
mainWindow.show()
|
|
} else {
|
|
mainWindow.minimize()
|
|
mainWindow.restore()
|
|
}
|
|
mainWindow.webContents.send('top-focus-search')
|
|
}
|
|
}
|
|
|
|
ipc.on('CONFIG_RENEW', (e, payload) => {
|
|
globalShortcut.unregisterAll()
|
|
var { config } = payload
|
|
|
|
var errors = []
|
|
try {
|
|
globalShortcut.register(config.hotkey.toggleFinder, toggleFinder)
|
|
} catch (err) {
|
|
errors.push('toggleFinder')
|
|
}
|
|
try {
|
|
globalShortcut.register(config.hotkey.toggleMain, toggleMain)
|
|
} catch (err) {
|
|
errors.push('toggleMain')
|
|
}
|
|
if (!config.silent) {
|
|
if (errors.length === 0) {
|
|
mainWindow.webContents.send('APP_SETTING_DONE', {})
|
|
} else {
|
|
mainWindow.webContents.send('APP_SETTING_ERROR', {
|
|
message: 'Failed to apply hotkey: ' + errors.join(' ')
|
|
})
|
|
}
|
|
}
|
|
})
|