diff --git a/src/main/main.ts b/src/main/main.ts index b13d01c6..4fc26e1a 100644 --- a/src/main/main.ts +++ b/src/main/main.ts @@ -394,6 +394,16 @@ const createWindow = async (first = true) => { } if (!first || !startWindowMinimized) { + const maximized = store.get('maximized'); + const fullScreen = store.get('fullscreen'); + + if (maximized) { + mainWindow.maximize(); + } + if (fullScreen) { + mainWindow.setFullScreen(true); + } + mainWindow.show(); createWinThumbarButtons(); } @@ -407,7 +417,10 @@ const createWindow = async (first = true) => { let saved = false; mainWindow.on('close', (event) => { - store.set('bounds', mainWindow?.getBounds()); + store.set('bounds', mainWindow?.getNormalBounds()); + store.set('maximized', mainWindow?.isMaximized()); + store.set('fullscreen', mainWindow?.isFullScreen()); + if (!exitFromTray && store.get('window_exit_to_tray')) { if (isMacOS() && !forceQuit) { exitFromTray = true; diff --git a/src/main/preload/local-settings.ts b/src/main/preload/local-settings.ts index c6269411..5f20e574 100644 --- a/src/main/preload/local-settings.ts +++ b/src/main/preload/local-settings.ts @@ -64,6 +64,7 @@ const env = { SERVER_NAME: process.env.SERVER_NAME ?? '', SERVER_TYPE, SERVER_URL: process.env.SERVER_URL ?? 'http://', + START_MAXIMIZED: store.get('maximized'), }; export const localSettings = { diff --git a/src/renderer/layouts/window-bar.tsx b/src/renderer/layouts/window-bar.tsx index 5db9a497..12720744 100644 --- a/src/renderer/layouts/window-bar.tsx +++ b/src/renderer/layouts/window-bar.tsx @@ -13,6 +13,8 @@ import macMinHover from './assets/min-mac-hover.png'; import macMin from './assets/min-mac.png'; import appIcon from '../../../assets/icons/32x32.png'; +const localSettings = isElectron() ? window.electron.localSettings : null; + const WindowsContainer = styled.div` display: flex; align-items: center; @@ -228,7 +230,7 @@ export const WindowBar = () => { : 'Feishin'; document.title = title; - const [max, setMax] = useState(false); + const [max, setMax] = useState(localSettings?.env.START_MAXIMIZED || false); const handleMinimize = () => minimize();