From da2be1f1edff1dfaee4edb2443acef8ff4cd3398 Mon Sep 17 00:00:00 2001 From: tiddlygit-test Date: Sun, 25 Sep 2022 02:36:37 +0800 Subject: [PATCH] feat: add maximize api for plugins --- src/services/windows/index.ts | 18 ++++++++++++------ src/services/windows/interface.ts | 2 ++ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/services/windows/index.ts b/src/services/windows/index.ts index 8715cd64..316057c6 100644 --- a/src/services/windows/index.ts +++ b/src/services/windows/index.ts @@ -374,12 +374,7 @@ export class Window implements IWindowService { } : { label: 'Zoom', - click: () => { - const mainWindow = this.get(WindowNames.main); - if (mainWindow !== undefined) { - mainWindow.maximize(); - } - }, + click: async () => await this.maximize(), }, { role: 'resetZoom' }, { role: 'togglefullscreen' }, @@ -609,4 +604,15 @@ export class Window implements IWindowService { newWindow.setBackgroundColor('#000000'); } } + + public async maximize(): Promise { + const mainWindow = this.get(WindowNames.main); + if (mainWindow !== undefined) { + if (mainWindow.isMaximized()) { + mainWindow.maximize(); + } else { + mainWindow.unmaximize(); + } + } + } } diff --git a/src/services/windows/interface.ts b/src/services/windows/interface.ts index d6ca882d..19e9495c 100644 --- a/src/services/windows/interface.ts +++ b/src/services/windows/interface.ts @@ -19,6 +19,7 @@ export interface IWindowService { isFullScreen(windowName?: WindowNames): Promise; isMenubarOpen(): Promise; loadURL(windowName: WindowNames, newUrl?: string): Promise; + maximize(): Promise; open( windowName: N, meta?: WindowMeta[N], @@ -47,6 +48,7 @@ export const WindowServiceIPCDescriptor = { isFullScreen: ProxyPropertyType.Function, isMenubarOpen: ProxyPropertyType.Function, loadURL: ProxyPropertyType.Function, + maximize: ProxyPropertyType.Function, open: ProxyPropertyType.Function, reload: ProxyPropertyType.Function, requestRestart: ProxyPropertyType.Function,