diff --git a/src/main/base/browserwindow.ts b/src/main/base/browserwindow.ts index 8ec13a9d..99300827 100644 --- a/src/main/base/browserwindow.ts +++ b/src/main/base/browserwindow.ts @@ -1043,6 +1043,11 @@ export class BrowserWindow { BrowserWindow.win.setResizable(!lock); }); + // Move window + ipcMain.on("windowmove", (_event, x, y) => { + BrowserWindow.win.setBounds({x, y}); + }); + //Fullscreen ipcMain.on('setFullScreen', (_event, flag) => { BrowserWindow.win.setFullScreen(flag) diff --git a/src/renderer/main/vueapp.js b/src/renderer/main/vueapp.js index e957839d..40192c9a 100644 --- a/src/renderer/main/vueapp.js +++ b/src/renderer/main/vueapp.js @@ -148,6 +148,10 @@ const app = new Vue({ }, tmpHeight: '', tmpWidth: '', + tmpX: '', + tmpY: '', + miniTmpX: '', + miniTmpY: '', tmpVar: [], notification: false, chrome: { @@ -4109,13 +4113,19 @@ const app = new Vue({ if (flag) { this.tmpWidth = window.innerWidth; this.tmpHeight = window.innerHeight; + this.tmpX = window.screenX; + this.tmpY = window.screenY; ipcRenderer.send('unmaximize'); ipcRenderer.send('windowmin', 250, 250) + if (this.miniTmpX !== '' && this.miniTmpY !== '') ipcRenderer.send('windowmove', this.miniTmpX, this.miniTmpY) ipcRenderer.send('windowresize', 300, 300, false) app.appMode = 'mini'; } else { + this.miniTmpX = window.screenX; + this.miniTmpY = window.screenY; ipcRenderer.send('windowmin', 844, 410) ipcRenderer.send('windowresize', this.tmpWidth, this.tmpHeight, false) + ipcRenderer.send('windowmove', this.tmpX, this.tmpY) ipcRenderer.send('windowontop', false) //this.cfg.visual.miniplayer_top_toggle = true; app.appMode = 'player';