Bootstrap

Electron: 渲染进程进行窗口最大最小化关闭以及相对其它窗口置顶等操作

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');
  })



;