diff --git a/src/main/index.js b/src/main/index.js index 4e5bf80..9b377d2 100644 --- a/src/main/index.js +++ b/src/main/index.js @@ -15,6 +15,7 @@ function createWindow() { mainWindow = new BrowserWindow({ width: 1080, height: 600, + minWidth: 400, webPreferences: { nodeIntegration: true, // javascript: true, @@ -34,6 +35,36 @@ function createWindow() { // Open the DevTools. // mainWindow.webContents.openDevTools() mainWindow.maximize(); + + // 当窗口已经关闭的时候触发 + mainWindow.on('closed', (event) => { + mainWindow = null; + }); + // 当窗口要关闭的时候触发 + mainWindow.on('close', (event) => { + mainWindow.hide(); + mainWindow.setSkipTaskbar(true); + event.preventDefault(); + }); + + mainWindow.on('show', () => { + tray.setHighlightMode('always') + }) + mainWindow.on('hide', () => { + tray.setHighlightMode('never') + }) + + // 创建系统通知区菜单 + tray = new Tray(path.join(__dirname, 'file_word.png')); + const contextMenu = Menu.buildFromTemplate([ + {label: '退出', click: () => {mainWindow.destroy()}},//我们需要在这里有一个真正的退出(这里直接强制退出) + ]) + tray.setToolTip('LOCKING探索者') + tray.setContextMenu(contextMenu); + tray.on('click', ()=>{ //我们这里模拟桌面程序点击通知区图标实现打开关闭应用的功能 + mainWindow.isVisible() ? mainWindow.hide() : mainWindow.show() + mainWindow.isVisible() ? mainWindow.setSkipTaskbar(false) : mainWindow.setSkipTaskbar(true); + }) } // This method will be called when Electron has finished