修复Linux无法全屏的问题

This commit is contained in:
lyswhut
2022-03-20 20:16:01 +08:00
parent be219f03d5
commit 226fb05337
3 changed files with 14 additions and 44 deletions
+12 -1
View File
@@ -1,5 +1,6 @@
const { app } = require('electron')
const { mainOn, mainHandle, NAMES: { mainWindow: ipcMainWindowNames } } = require('../../common/ipc')
const { isLinux } = require('@common/utils')
mainOn(ipcMainWindowNames.min, event => {
if (global.modules.mainWindow) {
@@ -18,6 +19,16 @@ mainOn(ipcMainWindowNames.close, (event, isForce) => {
})
mainHandle(ipcMainWindowNames.fullscreen, async(event, isFullscreen) => {
if (!global.modules.mainWindow) return false
await global.modules.mainWindow.setFullScreen(isFullscreen)
if (isLinux) { // linux 需要先设置为可调整窗口大小才能全屏
if (isFullscreen) {
await global.modules.mainWindow.setResizable(isFullscreen)
await global.modules.mainWindow.setFullScreen(isFullscreen)
} else {
await global.modules.mainWindow.setFullScreen(isFullscreen)
await global.modules.mainWindow.setResizable(isFullscreen)
}
} else {
await global.modules.mainWindow.setFullScreen(isFullscreen)
}
return isFullscreen
})