ipc: add window key to minimize and maximize methods

This commit is contained in:
Sqaaakoi 2025-02-19 03:34:31 +13:00
parent da5d0f8f19
commit fa610acb0d
No known key found for this signature in database
2 changed files with 17 additions and 13 deletions

View file

@ -68,28 +68,32 @@ handle(IpcEvents.SHOW_ITEM_IN_FOLDER, (_, path) => {
shell.showItemInFolder(path); shell.showItemInFolder(path);
}); });
function getWindow(e, key?: string) {
const win = BrowserWindow.fromWebContents(e.sender) ?? mainWin;
if (!key) return win;
const popout = PopoutWindows.get(key!);
return popout ?? win;
}
handle(IpcEvents.FOCUS, () => { handle(IpcEvents.FOCUS, () => {
mainWin.show(); mainWin.show();
mainWin.setSkipTaskbar(false); mainWin.setSkipTaskbar(false);
}); });
handle(IpcEvents.CLOSE, (e, key?: string) => { handle(IpcEvents.CLOSE, (e, key?: string) => {
const popout = PopoutWindows.get(key!); getWindow(e, key).close();
if (popout) return popout.close();
const win = BrowserWindow.fromWebContents(e.sender) ?? e.sender;
win.close();
}); });
handle(IpcEvents.MINIMIZE, e => { handle(IpcEvents.MINIMIZE, (e, key?: string) => {
mainWin.minimize(); getWindow(e, key).minimize();
}); });
handle(IpcEvents.MAXIMIZE, e => { handle(IpcEvents.MAXIMIZE, (e, key?: string) => {
if (mainWin.isMaximized()) { const win = getWindow(e, key);
mainWin.unmaximize(); if (win.isMaximized()) {
win.unmaximize();
} else { } else {
mainWin.maximize(); win.maximize();
} }
}); });

View file

@ -55,8 +55,8 @@ export const VesktopNative = {
win: { win: {
focus: () => invoke<void>(IpcEvents.FOCUS), focus: () => invoke<void>(IpcEvents.FOCUS),
close: (key?: string) => invoke<void>(IpcEvents.CLOSE, key), close: (key?: string) => invoke<void>(IpcEvents.CLOSE, key),
minimize: () => invoke<void>(IpcEvents.MINIMIZE), minimize: (key?: string) => invoke<void>(IpcEvents.MINIMIZE, key),
maximize: () => invoke<void>(IpcEvents.MAXIMIZE) maximize: (key?: string) => invoke<void>(IpcEvents.MAXIMIZE, key)
}, },
capturer: { capturer: {
getLargeThumbnail: (id: string) => invoke<string>(IpcEvents.CAPTURER_GET_LARGE_THUMBNAIL, id) getLargeThumbnail: (id: string) => invoke<string>(IpcEvents.CAPTURER_GET_LARGE_THUMBNAIL, id)