diff --git a/public/mainWindow.js b/public/mainWindow.js index 223c7f8..e9b7f41 100644 --- a/public/mainWindow.js +++ b/public/mainWindow.js @@ -227,6 +227,12 @@ export function createWindow() { setupWindowEvents() attachKeyboardShortcuts(win) setupNavigationGestures(win) + + if (process.platform === 'darwin') { + win.maximize() + } else if (process.platform === 'win32') { + win.setFullScreen(true) + } } export function getWindow() { diff --git a/src/desktop/window.js b/src/desktop/window.js index d4be591..8941bda 100644 --- a/src/desktop/window.js +++ b/src/desktop/window.js @@ -89,6 +89,18 @@ function broadcastWindowState() { sendToRenderer('windowState', getWindowState()) } +function applyStartupWindowState(window) { + if (!window) return + + if (isMacOS) { + window.maximize?.() + } else if (process.platform === 'win32') { + window.setFullScreen?.(true) + } + + setTimeout(broadcastWindowState, 100) +} + function setupWindowEvents(window) { // Electrobun emits resize/focus, not Electron's maximize/fullscreen events. window.on?.('resize', broadcastWindowState) @@ -166,6 +178,7 @@ export async function createMainWindow(rpc) { }) setupWindowEvents(mainWindow) + applyStartupWindowState(mainWindow) Electrobun.events.on('open-url', (event) => { const url = event?.data?.url