diff --git a/src/desktop/window.js b/src/desktop/window.js index e400388..54be50e 100644 --- a/src/desktop/window.js +++ b/src/desktop/window.js @@ -7,6 +7,8 @@ import { import { sendToRenderer, setMessageSender } from './notify.js' const isMacOS = process.platform === 'darwin' +const isWindows = process.platform === 'win32' +const WINDOWS_STARTUP_MAXIMIZE_DELAY_MS = 1500 const DEV_SERVER_PORT = 5780 const DEV_SERVER_URL = `http://localhost:${DEV_SERVER_PORT}` @@ -144,7 +146,7 @@ function broadcastWindowState() { function applyStartupWindowState(window) { if (!window) return - if (isMacOS || process.platform === 'win32') { + if (isMacOS) { window.maximize?.() } @@ -168,10 +170,13 @@ function syncWindowsWebviewLayout(window) { function applyWindowsStartupWindowState(window) { if (!window) return - syncWindowsWebviewLayout(window) - setTimeout(() => syncWindowsWebviewLayout(window), 0) - setTimeout(() => syncWindowsWebviewLayout(window), 100) - setTimeout(broadcastWindowState, 100) + setTimeout(() => { + window.maximize?.() + syncWindowsWebviewLayout(window) + setTimeout(() => syncWindowsWebviewLayout(window), 0) + setTimeout(() => syncWindowsWebviewLayout(window), 100) + setTimeout(broadcastWindowState, 100) + }, WINDOWS_STARTUP_MAXIMIZE_DELAY_MS) } function setupWindowEvents(window) { @@ -264,7 +269,7 @@ export async function createMainWindow(rpc) { mainWindow.webview.on('dom-ready', () => { webviewDomReady = true - if (process.platform === 'win32') { + if (isWindows) { applyWindowsStartupWindowState(mainWindow) }