Added maximized window state code

This commit is contained in:
booploops 2021-12-04 12:12:48 -08:00
parent df0fe06f32
commit aabbb35583
4 changed files with 38 additions and 4 deletions

View file

@ -103,9 +103,10 @@
</div>
<div class="app-chrome-item full-height">
<div class="window-controls">
<div class="minimize" onclick="ipcRenderer.send('minimize')"></div>
<div class="minmax" onclick="ipcRenderer.send('maximize')"></div>
<div class="close" onclick="ipcRenderer.send('close')"></div>
<div class="minimize" @click="ipcRenderer.send('minimize')"></div>
<div class="minmax restore" v-if="chrome.maximized" @click="ipcRenderer.send('maximize')"></div>
<div class="minmax" v-else @click="ipcRenderer.send('maximize')"></div>
<div class="close" @click="ipcRenderer.send('close')"></div>
</div>
</div>
</div>

View file

@ -123,7 +123,8 @@ const app = new Vue({
userinfo: {
},
menuOpened: false
menuOpened: false,
maximized: false
},
page: "browse"
},

View file

@ -513,6 +513,10 @@ input[type=range].web-slider::-webkit-slider-runnable-track {
height: 100%;
}
.app-chrome .app-chrome-item > .window-controls > div.minmax.restore {
background-image: var(--gfx-restoreBtn);
}
.app-chrome .app-chrome-item > .window-controls > div.minimize {
background-image: var(--gfx-minBtn);
background-position: center;

View file

@ -78,6 +78,34 @@ const CiderBase = {
win.minimize();
})
if (process.platform === "win32") {
var WND_STATE = {
MINIMIZED: 0,
NORMAL: 1,
MAXIMIZED: 2,
FULL_SCREEN: 3
}
var wndState = WND_STATE.NORMAL
win.on("resize", (_event) => {
const isMaximized = win.isMaximized()
const isMinimized = win.isMinimized()
const isFullScreen = win.isFullScreen()
const state = wndState;
if (isMinimized && state !== WND_STATE.MINIMIZED) {
wndState = WND_STATE.MINIMIZED
} else if (isFullScreen && state !== WND_STATE.FULL_SCREEN) {
wndState = WND_STATE.FULL_SCREEN
} else if (isMaximized && state !== WND_STATE.MAXIMIZED) {
wndState = WND_STATE.MAXIMIZED
win.webContents.executeJavaScript(`app.chrome.maximized = true`)
} else if (state !== WND_STATE.NORMAL) {
wndState = WND_STATE.NORMAL
win.webContents.executeJavaScript(`app.chrome.maximized = false`)
}
})
}
return win
},
async InitWebServer() {