diff --git a/resources/cider-ui-tests/index.html b/resources/cider-ui-tests/index.html
index 22064af3..c9c11a94 100644
--- a/resources/cider-ui-tests/index.html
+++ b/resources/cider-ui-tests/index.html
@@ -103,9 +103,10 @@
diff --git a/resources/cider-ui-tests/index.js b/resources/cider-ui-tests/index.js
index f4b60891..d00b8d5f 100644
--- a/resources/cider-ui-tests/index.js
+++ b/resources/cider-ui-tests/index.js
@@ -123,7 +123,8 @@ const app = new Vue({
userinfo: {
},
- menuOpened: false
+ menuOpened: false,
+ maximized: false
},
page: "browse"
},
diff --git a/resources/cider-ui-tests/style.css b/resources/cider-ui-tests/style.css
index d3e667f5..cb9c1e88 100644
--- a/resources/cider-ui-tests/style.css
+++ b/resources/cider-ui-tests/style.css
@@ -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;
diff --git a/resources/functions/cider-base.js b/resources/functions/cider-base.js
index bc5891c9..0bfd2573 100644
--- a/resources/functions/cider-base.js
+++ b/resources/functions/cider-base.js
@@ -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() {