#electron
Вопрос:
В моем приложении electron есть несколько окон браузера с заставкой, по какой-то причине они всегда отображаются во весь экран на одном мониторе, и если я хочу изменить размер 1 окна, мне нужно изменить все остальные на тот же размер, чтобы изменения произошли.
Вот как я инициализирую свой browserwindow
:
const Third_Window = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true,
contextIsolation: false,
devTools: true,
enableRemoteModule: false
},
frame: false,
show: false,
resizable: false,
fullscreen: true,
enableLargerThanScreen: true,
kiosk: true,
movable: false,
alwaysOnTop: true,
icon: "assets/icon.png"
});
Даже если атрибут полноэкранного режима имеет значение false, приложение по-прежнему работает в полноэкранном режиме. Способ, которым я изменяю размер окон, заключается в следующем:
Third_Window.setMaximumSize(width, height);
Third_Window.setMinimumSize(width, height);
Теперь, если я изменю только размер Third_Window
, размер не изменится, он изменится только тогда, когда я применю min
и max
ко всем остальным, включая заставку.
Кроме того, окна отображаются в полноэкранном режиме для первого монитора, и моя цель-отобразить только одно окно Third_Window
в полноэкранном режиме для обоих мониторов. Я могу настроить их все в полноэкранном режиме на обоих мониторах, но не на одном сразу.
Я получаю размер обоих мониторов следующим образом:
let displays = screen.getAllDisplays()
let externalDisplay = displays.find((display) => {
return display.bounds.x !== 0 || display.bounds.y !== 0
})
var { width, height } = screen.getPrimaryDisplay().workAreaSize
if (externalDisplay) {
width = externalDisplay.bounds.x 50;
height = externalDisplay.bounds.y 50;
}
Я также попытался изменить размер, с помощью которого загружается окно ipc
:
//in the render process of the Third_Window
ipcRenderer.send('resize');
//in the main process
ipcMain.on('resize', () => {
console.log("resize" width ", " height)
display_Window.setMaximumSize(width, height);
display_Window.setMinimumSize(width, height);
display_Window.setSize(width, height);
});
Если у кого-нибудь есть какие-либо идеи, почему мои окна всегда отображаются на весь экран, даже когда я отключаю fullscreen
или устанавливаю значение false, и почему я не могу изменить только 1 окно, не изменив остальные, пожалуйста, любая помощь будет признательна.