diff --git a/app/src/electron.js b/app/src/electron.js index 1b59a0ac8..d930d350b 100644 --- a/app/src/electron.js +++ b/app/src/electron.js @@ -166,8 +166,10 @@ ipcMain.on('window-action', async (event, arg) => { case 'maximize': if (mainWindow.isMaximized()) { mainWindow.unmaximize(); + mainWindow.webContents.send('maximize', false); } else { mainWindow.maximize(); + mainWindow.webContents.send('maximize', true); } break; case 'close': diff --git a/packages/web/src/icons/FontIcon.svelte b/packages/web/src/icons/FontIcon.svelte index 713eadf3a..8ba83dc02 100644 --- a/packages/web/src/icons/FontIcon.svelte +++ b/packages/web/src/icons/FontIcon.svelte @@ -32,6 +32,7 @@ 'icon add-folder': 'mdi mdi-folder-plus-outline', 'icon window-restore': 'mdi mdi-window-restore', + 'icon window-maximize': 'mdi mdi-window-maximize', 'icon window-close': 'mdi mdi-window-close', 'icon window-minimize': 'mdi mdi-window-minimize', 'img dbgate': 'mdi mdi-database color-icon-gold', diff --git a/packages/web/src/widgets/TitleBar.svelte b/packages/web/src/widgets/TitleBar.svelte index 93efc686c..049a61472 100644 --- a/packages/web/src/widgets/TitleBar.svelte +++ b/packages/web/src/widgets/TitleBar.svelte @@ -7,9 +7,18 @@ import { activeTab, currentDatabase } from '../stores'; import { isMac } from '../utility/common'; import getElectron from '../utility/getElectron'; + import { apiOn } from '../utility/api'; $: title = _.compact([$activeTab?.title, $currentDatabase?.name, 'DbGate']).join(' - '); const electron = getElectron(); + + let isMaximized = false; + + if (electron) { + apiOn('maximize', (maximized: boolean) => { + isMaximized = maximized; + }); + }