From fbac07d338aa9f5976d060892a6932b2fe5a3d26 Mon Sep 17 00:00:00 2001 From: Jonatan Heyman Date: Sun, 15 Jan 2023 10:53:09 +0100 Subject: [PATCH] Set tab size to 4 --- electron/main/index.ts | 124 +++++++++++++++++++++-------------------- 1 file changed, 64 insertions(+), 60 deletions(-) diff --git a/electron/main/index.ts b/electron/main/index.ts index 89a0cb2..eb26828 100644 --- a/electron/main/index.ts +++ b/electron/main/index.ts @@ -1,4 +1,4 @@ -import { app, BrowserWindow, shell, ipcMain } from 'electron' +import { app, BrowserWindow, shell, ipcMain, Menu, nativeTheme } from 'electron' import { release } from 'node:os' import { join } from 'node:path' @@ -15,8 +15,8 @@ import { join } from 'node:path' process.env.DIST_ELECTRON = join(__dirname, '..') process.env.DIST = join(process.env.DIST_ELECTRON, '../dist') process.env.PUBLIC = process.env.VITE_DEV_SERVER_URL - ? join(process.env.DIST_ELECTRON, '../public') - : process.env.DIST + ? join(process.env.DIST_ELECTRON, '../public') + : process.env.DIST // Disable GPU Acceleration for Windows 7 if (release().startsWith('6.1')) app.disableHardwareAcceleration() @@ -25,10 +25,12 @@ if (release().startsWith('6.1')) app.disableHardwareAcceleration() if (process.platform === 'win32') app.setAppUserModelId(app.getName()) if (!process.env.VITE_DEV_SERVER_URL && !app.requestSingleInstanceLock()) { - app.quit() - process.exit(0) + app.quit() + process.exit(0) } +// remove default menu +//Menu.setApplicationMenu(null) // Remove electron security warnings // This warning only shows in development mode @@ -42,78 +44,80 @@ const url = process.env.VITE_DEV_SERVER_URL const indexHtml = join(process.env.DIST, 'index.html') async function createWindow() { - win = new BrowserWindow({ - title: 'Main window', - icon: join(process.env.PUBLIC, 'favicon.ico'), - //titleBarStyle: 'customButtonsOnHover', - webPreferences: { - preload, - // Warning: Enable nodeIntegration and disable contextIsolation is not secure in production - // Consider using contextBridge.exposeInMainWorld - // Read more on https://www.electronjs.org/docs/latest/tutorial/context-isolation - nodeIntegration: true, - contextIsolation: false, - }, - }) + win = new BrowserWindow({ + title: 'Main window', + icon: join(process.env.PUBLIC, 'favicon.ico'), + //titleBarStyle: 'customButtonsOnHover', + webPreferences: { + preload, + // Warning: Enable nodeIntegration and disable contextIsolation is not secure in production + // Consider using contextBridge.exposeInMainWorld + // Read more on https://www.electronjs.org/docs/latest/tutorial/context-isolation + nodeIntegration: true, + contextIsolation: false, + }, + }) - if (process.env.VITE_DEV_SERVER_URL) { // electron-vite-vue#298 - win.loadURL(url) - // Open devTool if the app is not packaged - //win.webContents.openDevTools() - } else { - win.loadFile(indexHtml) - //win.webContents.openDevTools() - } + //nativeTheme.themeSource = "light" - // Test actively push message to the Electron-Renderer - win.webContents.on('did-finish-load', () => { - win?.webContents.send('main-process-message', new Date().toLocaleString()) - }) + if (process.env.VITE_DEV_SERVER_URL) { // electron-vite-vue#298 + win.loadURL(url) + // Open devTool if the app is not packaged + //win.webContents.openDevTools() + } else { + win.loadFile(indexHtml) + //win.webContents.openDevTools() + } - // Make all links open with the browser, not with the application - win.webContents.setWindowOpenHandler(({ url }) => { - if (url.startsWith('https:')) shell.openExternal(url) - return { action: 'deny' } - }) + // Test actively push message to the Electron-Renderer + win.webContents.on('did-finish-load', () => { + win?.webContents.send('main-process-message', new Date().toLocaleString()) + }) + + // Make all links open with the browser, not with the application + win.webContents.setWindowOpenHandler(({ url }) => { + if (url.startsWith('https:')) shell.openExternal(url) + return { action: 'deny' } + }) } app.whenReady().then(createWindow) app.on('window-all-closed', () => { - win = null - if (process.platform !== 'darwin') app.quit() + win = null + if (process.platform !== 'darwin') app.quit() }) app.on('second-instance', () => { - if (win) { - // Focus on the main window if the user tried to open another - if (win.isMinimized()) win.restore() - win.focus() - } + if (win) { + // Focus on the main window if the user tried to open another + if (win.isMinimized()) win.restore() + win.focus() + } }) app.on('activate', () => { - const allWindows = BrowserWindow.getAllWindows() - if (allWindows.length) { - allWindows[0].focus() - } else { - createWindow() - } + const allWindows = BrowserWindow.getAllWindows() + if (allWindows.length) { + allWindows[0].focus() + } else { + createWindow() + } }) // New window example arg: new windows url ipcMain.handle('open-win', (_, arg) => { - const childWindow = new BrowserWindow({ - webPreferences: { - preload, - nodeIntegration: true, - contextIsolation: false, - }, - }) + const childWindow = new BrowserWindow({ + webPreferences: { + preload, + nodeIntegration: true, + contextIsolation: false, + }, + }) - if (process.env.VITE_DEV_SERVER_URL) { - childWindow.loadURL(`${url}#${arg}`) - } else { - childWindow.loadFile(indexHtml, { hash: arg }) - } + if (process.env.VITE_DEV_SERVER_URL) { + childWindow.loadURL(`${url}#${arg}`) + } else { + childWindow.loadFile(indexHtml, { hash: arg }) + } })