import { app, BrowserWindow, nativeTheme, ipcMain } from 'electron' import logger from '../../src/util/log' ipcMain.on('window-max', () => { console.log('AAAA1') if (mainWindow.isMaximized()) { mainWindow.restore() } else { mainWindow.maximize() } }) ipcMain.on('window-min', function () { console.log('AAAA1') mainWindow.minimize() }) ipcMain.on('window-close', function (e) { console.log('AAAA') mainWindow.destroy() }) ipcMain.handle('log', async (event, arg) => { return new Promise((resolve, reject) => { logger.info(arg) }) }) try { if (process.platform === 'win32' && nativeTheme.shouldUseDarkColors === true) { require('fs').unlinkSync(require('path').join(app.getPath('userData'), 'DevTools Extensions')) } } catch (_) { } /** * Set `__statics` path to static files in production; * The reason we are setting it here is that the path needs to be evaluated at runtime */ if (process.env.PROD) { global.__statics = __dirname } let mainWindow function createWindow () { /** * Initial window options */ mainWindow = new BrowserWindow({ width: 1000, height: 800, minWidth: 1000, frame: false, webPreferences: { contextIsolation: false, // Change from /quasar.conf.js > electron > nodeIntegration; // More info: https://quasar.dev/quasar-cli/developing-electron-apps/node-integration nodeIntegration: true, nodeIntegrationInWorker: process.env.QUASAR_NODE_INTEGRATION, // More info: /quasar-cli/developing-electron-apps/electron-preload-script // preload: path.resolve(__dirname, 'electron-preload.js') } }) mainWindow.menuBarVisible = false mainWindow.loadURL(process.env.APP_URL) mainWindow.on('closed', () => { mainWindow = null }) } app.on('ready', createWindow) app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit() } }) app.on('activate', () => { if (mainWindow === null) { createWindow() } })