'init'
This commit is contained in:
35
lib/window/ipcEvents.ts
Normal file
35
lib/window/ipcEvents.ts
Normal file
@@ -0,0 +1,35 @@
|
||||
import { type BrowserWindow, ipcMain } from 'electron'
|
||||
import os from 'os'
|
||||
|
||||
const handleIPC = (channel: string, handler: (...args: any[]) => void) => {
|
||||
ipcMain.handle(channel, handler)
|
||||
}
|
||||
|
||||
export const registerWindowIPC = (mainWindow: BrowserWindow) => {
|
||||
// Hide the menu bar
|
||||
mainWindow.setMenuBarVisibility(false)
|
||||
|
||||
// Register window IPC
|
||||
handleIPC('init-window', () => {
|
||||
const { width, height } = mainWindow.getBounds()
|
||||
const minimizable = mainWindow.isMinimizable()
|
||||
const maximizable = mainWindow.isMaximizable()
|
||||
const platform = os.platform()
|
||||
|
||||
return { width, height, minimizable, maximizable, platform }
|
||||
})
|
||||
|
||||
handleIPC('is-window-minimizable', () => mainWindow.isMinimizable())
|
||||
handleIPC('is-window-maximizable', () => mainWindow.isMaximizable())
|
||||
handleIPC('window-minimize', () => mainWindow.minimize())
|
||||
handleIPC('window-maximize', () => mainWindow.maximize())
|
||||
handleIPC('window-close', () => mainWindow.close())
|
||||
handleIPC('window-maximize-toggle', () => {
|
||||
if (mainWindow.isMaximized()) {
|
||||
mainWindow.unmaximize()
|
||||
} else {
|
||||
mainWindow.maximize()
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user