ipcMain.on('min', (e) => {
const webContents = e.sender
const win = BrowserWindow.fromWebContents(webContents)
// 关闭当前窗口并退出主进程
// win.close()
// win.hide()方法用于隐藏窗口,但可能会引起窗口闪烁问题
// 解决方案一:app.commandLine.appendSwitch('wm-window-animations-disabled');
// 解决方案二:窗口先设置show: false, 然后监听win.on('ready-to-show', () => { win.show(); })
// win.setSkipTaskbar(true) // 设置窗口不显示在任务栏
// win.hide()
// 最小化
// win.minimize()
// 最大化
// win.maximize()
// 禁止最大化, 最新API使用restore
// win.restore()
// win.unmaximize()
/**
* setAlwaysOnTop(flag, level, relativeLevel)
* flag: 布尔值,表示是否置顶。
* level: 可选参数,表示置顶的级别。Electron提供了三种级别:normal、others、fullscreen。默认值为normal。
* relativeLevel: 可选参数,表示相对于哪个窗口级别置顶。可以是normal、others、fullscreen。默认值为normal
*/
// 设置窗口总是显示在最前面
win.setAlwaysOnTop(true)
// 设置窗口相对于其他窗口置顶,但不高于全屏窗口
win.setAlwaysOnTop(false, 'others', 'normal');
})