diff --git a/src/main/modules/tray.js b/src/main/modules/tray.js index 5337c21c..8a8305da 100644 --- a/src/main/modules/tray.js +++ b/src/main/modules/tray.js @@ -11,7 +11,7 @@ global.lx_event.tray.on(TRAY_EVENT_NAME.destroy, () => { let tray function createTray() { - if (tray && !tray.isDestroyed() && global.appSetting.tray && global.appSetting.tray.isShow) return + if ((tray && !tray.isDestroyed()) || !global.appSetting.tray || !global.appSetting.tray.isShow) return const iconPath = path.join(global.__static, 'images/tray', isWin ? '256x256.ico' : isMac ? '512x512.icns' : '512x512.png') diff --git a/src/main/rendererEvents/tray.js b/src/main/rendererEvents/tray.js index 127abf4f..91d69daa 100644 --- a/src/main/rendererEvents/tray.js +++ b/src/main/rendererEvents/tray.js @@ -1,17 +1,12 @@ // const { app } = require('electron') const { mainOn } = require('../../common/ipc') -mainOn('changeTray', (event, params) => { - switch (params.action) { - case 'create': - global.lx_event.tray.create() - break - case 'destroy': - global.lx_event.tray.destroy() - break - - default: - break +mainOn('changeTray', (event, setting) => { + global.appSetting.tray = setting + if (setting.isToTray) { + global.lx_event.tray.create() + } else { + global.lx_event.tray.destroy() } }) diff --git a/src/main/rendererEvents/winEvent.js b/src/main/rendererEvents/winEvent.js index e3f8442b..30a28744 100644 --- a/src/main/rendererEvents/winEvent.js +++ b/src/main/rendererEvents/winEvent.js @@ -1,5 +1,10 @@ module.exports = mainWindow => { - mainWindow.on('close', () => { + mainWindow.on('close', event => { + if (global.appSetting.tray.isToTray) { + event.preventDefault() + mainWindow.hide() + return + } mainWindow.setProgressBar(-1) }) diff --git a/src/renderer/components/core/Toolbar.vue b/src/renderer/components/core/Toolbar.vue index 15a3242f..f778c611 100644 --- a/src/renderer/components/core/Toolbar.vue +++ b/src/renderer/components/core/Toolbar.vue @@ -119,9 +119,7 @@ export default { rendererSend('max') }, close() { - rendererSend('close', { - isToTray: this.setting.tray.isToTray, - }) + rendererSend('close') }, }, } diff --git a/src/renderer/views/Setting.vue b/src/renderer/views/Setting.vue index 13d875eb..44458cfd 100644 --- a/src/renderer/views/Setting.vue +++ b/src/renderer/views/Setting.vue @@ -628,7 +628,7 @@ export default { }, handleToTrayChange(isToTray) { this.current_setting.tray.isShow = isToTray - rendererSend('changeTray', { action: isToTray ? 'create' : 'destroy' }) + rendererSend('changeTray', this.current_setting.tray) }, }, }