Как решить данную проблему с безрамочным окном в Electron js?
Возникла проблема с безрамочным окном в Electron js v 17.1.2
не могу вернуть развёрнутое окно в изначальное состояние,
в разделе документации BrowserWindow описаны следующие методы:
Событие: 'isMaximized' Возвращает boolean - если окно развернуто;
Событие: 'maximize' Происходит, когда окно увеличивается до предела;
Событие: 'unmaximize' Происходит, когда окно выходит из увеличенного состояния;
Событие: 'restore' Происходит, когда окно восстанавливается из свернутого состояния.
Но по какойто причине isMaximized, unmaximize и restore не в какую не хотят работать
а вот maximize, minimize, close работают как должны.
Может кто-то сталкивался с подобным, зарание спасибо за помощь.
Вот мой код:
const minimizeButton = document.getElementById('minimize');
const maximizeButton = document.getElementById('maximize');
const closeButton = document.getElementById('close-app');
minimizeButton.addEventListener('click', minimize);
maximizeButton.addEventListener('click', maximize);
closeButton.addEventListener('click', close_app);
let isMaximized = false;
function close_app () {
app.window.close();
}
function maximize () {
isMaximized = !isMaximized;
isMaximized ? app.window.maximize() : app.window.unmaximize();
}
function minimize () {
app.window.minimize();
}
preload.js :
import { ipcRenderer, contextBridge } from 'electron'
const API = {
window: {
close: () => ipcRenderer.send('app/close'),
minimize: () => ipcRenderer.send('app/minimize'),
maximize: () => ipcRenderer.send('app/maximize'),
},
getVersion : () => ipcRenderer.invoke("GET/version")
}
contextBridge.exposeInMainWorld("app", API)
main.js :
ipcMain.on('app/close', () => {
app.quit();
})
ipcMain.on('app/minimize', () => {
window.minimize();
})
ipcMain.on('app/maximize', () => {
window.maximize();
})
Ответы (1 шт):
Как оказалось когда выспался и вернулся к коду я понял что забыл передать эти методы isMaximized, unmaximize и restor в main.js :
ipcMain.on('app/maximize', () => {
window.isMaximized() ? window.unmaximize() : window.maximize()
})