| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import { app, shell, BrowserWindow, ipcMain } from 'electron'
- import { join } from 'path'
- import { electronApp, optimizer, is } from '@electron-toolkit/utils'
- import icon from '../../resources/icon.png?asset'
- function createWindow(): void {
- const mainWindow = new BrowserWindow({
- width: 1120,
- height: 860,
- minWidth: 1000,
- minHeight: 700,
- show: false,
- autoHideMenuBar: true,
- ...(process.platform === 'linux' ? { icon } : {}),
- webPreferences: {
- preload: join(__dirname, '../preload/index.mjs'),
- sandbox: false
- }
- })
- mainWindow.on('ready-to-show', () => {
- mainWindow.show()
- })
- mainWindow.webContents.setWindowOpenHandler((details) => {
- shell.openExternal(details.url)
- return { action: 'deny' }
- })
- if (is.dev && process.env['ELECTRON_RENDERER_URL']) {
- mainWindow.loadURL(process.env['ELECTRON_RENDERER_URL'])
- } else {
- mainWindow.loadFile(join(__dirname, '../renderer/index.html'))
- }
- }
- app.whenReady().then(() => {
- electronApp.setAppUserModelId('com.electron')
- app.on('browser-window-created', (_, window) => {
- optimizer.watchWindowShortcuts(window)
- })
- ipcMain.on('ping', () => console.log('pong'))
- createWindow()
- app.on('activate', function () {
- if (BrowserWindow.getAllWindows().length === 0) createWindow()
- })
- })
- app.on('window-all-closed', () => {
- if (process.platform !== 'darwin') {
- app.quit()
- }
- })
|