关闭最小化到托盘

This commit is contained in:
Lasy 2020-03-27 17:58:17 +08:00
parent b04c676288
commit 81db068971

View File

@ -1,4 +1,4 @@
const { app, BrowserWindow, Menu } = require('electron') const { app, BrowserWindow, Menu, Tray } = require('electron')
const path = require('path') const path = require('path')
// 单例应用程序 // 单例应用程序
@ -30,10 +30,10 @@ const winEvent = require('./events/winEvent')
const autoUpdate = require('./utils/autoUpdate') const autoUpdate = require('./utils/autoUpdate')
const { isLinux, isMac } = require('../common/utils') const { isLinux, isMac } = require('../common/utils')
let mainWindow let mainWindow
let winURL let winURL
let isFirstCheckedUpdate = true let isFirstCheckedUpdate = true
let tray
if (isDev) { if (isDev) {
global.__static = path.join(__dirname, '../static') global.__static = path.join(__dirname, '../static')
@ -66,6 +66,32 @@ function createWindow() {
}, },
}) })
// 托盘
tray = new Tray('./resources/icons/256x256.ico')
const contextMenu = Menu.buildFromTemplate([
{
label: '退出',
click: () => {
mainWindow.destroy()
},
},
])
tray.setToolTip('洛雪音乐助手')
tray.setContextMenu(contextMenu)
tray.on('click', () => {
mainWindow.isVisible() ? mainWindow.hide() : mainWindow.show()
mainWindow.isVisible()
? mainWindow.setSkipTaskbar(false)
: mainWindow.setSkipTaskbar(true)
})
// 关闭事件处理
mainWindow.on('close', e => {
e.preventDefault()
mainWindow.hide()
mainWindow.setSkipTaskbar(true)
})
mainWindow.loadURL(winURL) mainWindow.loadURL(winURL)
winEvent(mainWindow) winEvent(mainWindow)