electron(titleBar): 添加窗口状态IPC通信与桥接器函数

This commit is contained in:
2026-08-18 11:36:43 +08:00
parent 08038e6be0
commit f2aa1573fa
2 changed files with 10 additions and 0 deletions
+8
View File
@@ -843,6 +843,14 @@ app.whenReady().then(() => {
});
});
ipcMain.handle('window:state', () => {
const win = BrowserWindow.getFocusedWindow()
if (!win) return 'normal'
if (win.isMaximized()) return 'maximized'
if (win.isMinimized()) return 'minimized'
return 'normal'
})
// New window example arg: new windows url
// ipcMain.handle('open-win', (_, arg) => {
// const childWindow = new BrowserWindow({
+2
View File
@@ -51,6 +51,7 @@ type WindowControlBridge = {
minimize: () => void;
toggleMaximize: () => void;
close: () => void;
state: () => Promise<| 'normal' | 'maximized' | 'minimized'>;
};
type UpdateCenterStateListener = (snapshot: UpdateCenterSnapshot) => void;
@@ -110,6 +111,7 @@ contextBridge.exposeInMainWorld("windowControls", {
minimize: () => ipcRenderer.send("window-control-minimize"),
toggleMaximize: () => ipcRenderer.send("window-control-toggle-maximize"),
close: () => ipcRenderer.send("window-control-close"),
state: () => ipcRenderer.invoke("window:state"),
} satisfies WindowControlBridge);
contextBridge.exposeInMainWorld("updateCenter", {