From a26cb2380c809b63732cd7c6d9a2d837d13a9795 Mon Sep 17 00:00:00 2001 From: vapormusic Date: Sat, 5 Mar 2022 21:20:39 +0700 Subject: [PATCH] fix miniplayer on top, add blur toggle on windows --- package.json | 3 ++- src/i18n/en_US.json | 3 +++ src/main/base/browserwindow.ts | 16 ++++++++++++++-- src/main/base/store.ts | 1 + src/renderer/main/vueapp.js | 13 ++++++++----- .../views/components/mediaitem-square.ejs | 2 +- src/renderer/views/components/miniplayer.ejs | 3 +++ src/renderer/views/pages/settings.ejs | 16 ++++++++++++++++ 8 files changed, 48 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index be0b3b75..89aeaf73 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,7 @@ "electron-notarize": "^1.1.1", "electron-store": "^8.0.1", "electron-updater": "^4.6.5", + "electron-vibrancy-updated": "git+https://github.com/ciderapp/electron-vibrancy-updated", "electron-window-state": "^5.0.3", "express": "^4.17.3", "get-port": "^5.1.1", @@ -75,7 +76,7 @@ "@types/express": "^4.17.13", "@types/qrcode-terminal": "^0.12.0", "@types/ws": "^8.5.1", - "electron": "git+https://github.com/castlabs/electron-releases.git", + "electron": "git+https://github.com/castlabs/electron-releases.git#16-x-y", "electron-builder": "^22.14.13", "electron-builder-notarize-pkg": "^1.2.0", "electron-webpack": "^2.8.2", diff --git a/src/i18n/en_US.json b/src/i18n/en_US.json index 7e402929..d224beb8 100644 --- a/src/i18n/en_US.json +++ b/src/i18n/en_US.json @@ -201,6 +201,7 @@ "action.unfollow": "Unfollow", "action.unfollow.success": "Unfollowed", "action.unfollow.error": "Error Unfollowing", + "action.relaunch.confirm": "Do you want to relaunch Cider?", "action.playNext": "Play Next", "action.playLater": "Play Later", "action.startRadio": "Start Radio", @@ -315,6 +316,8 @@ "settings.option.visual.hardwareAcceleration.description": "Requires relaunch", "settings.header.visual.hardwareAcceleration.default": "Default", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.option.visual.transparent": "Transparent frame", + "settings.option.visual.transparent.description": "Transparent frame (needs Theme Support , requires relaunch)", "settings.header.visual.theme": "Theme", "settings.option.visual.theme.github.download": "Install from GitHub URL", "settings.option.visual.theme.github.explore": "Explore GitHub Themes", diff --git a/src/main/base/browserwindow.ts b/src/main/base/browserwindow.ts index 316a0e01..82dc46dd 100644 --- a/src/main/base/browserwindow.ts +++ b/src/main/base/browserwindow.ts @@ -301,8 +301,9 @@ export class BrowserWindow { break; case "win32": - this.options.backgroundColor = "#1E1E1E"; - this.options.transparent = false; + if (!(utils.getStoreValue('visual.transparent') ?? false)){ + this.options.backgroundColor = "#1E1E1E";} else { + this.options.transparent = true;} break; case "linux": this.options.backgroundColor = "#1E1E1E"; @@ -321,6 +322,11 @@ export class BrowserWindow { this.startWebServer(); BrowserWindow.win = new bw(this.options); + if (process.platform === "win32" && (utils.getStoreValue('visual.transparent') ?? false)) { + var electronVibrancy = require('electron-vibrancy-updated'); + electronVibrancy.SetVibrancy(BrowserWindow.win, 0); + + } const ws = new wsapi(BrowserWindow.win) ws.InitWebSockets() // and load the renderer. @@ -797,9 +803,15 @@ export class BrowserWindow { ipcMain.on('setFullScreen', (_event, flag) => { BrowserWindow.win.setFullScreen(flag) }) + //Fullscreen ipcMain.on('detachDT', (_event, _) => { BrowserWindow.win.webContents.openDevTools({mode: 'detach'}); + }) + + ipcMain.on('relaunchApp',(_event, _) => { + app.relaunch() + app.exit() }) diff --git a/src/main/base/store.ts b/src/main/base/store.ts index 0a77de97..f1ea8dc2 100644 --- a/src/main/base/store.ts +++ b/src/main/base/store.ts @@ -105,6 +105,7 @@ export class Store { "bg_artwork_rotation": false, "hw_acceleration": "default", // default, webgpu, disabled "showuserinfo": true, + "transparent": false, "miniplayer_top_toggle": true, "directives": { "windowLayout": "default" diff --git a/src/renderer/main/vueapp.js b/src/renderer/main/vueapp.js index c2d2e163..f4ca97b2 100644 --- a/src/renderer/main/vueapp.js +++ b/src/renderer/main/vueapp.js @@ -3863,17 +3863,20 @@ const app = new Vue({ ipcRenderer.send('windowmin', 844, 410) ipcRenderer.send('windowresize', this.tmpWidth, this.tmpHeight, false) ipcRenderer.send('windowontop', false) - this.cfg.visual.miniplayer_top_toggle = true; + //this.cfg.visual.miniplayer_top_toggle = true; app.appMode = 'player'; } }, - pinMiniPlayer() { - if (this.cfg.visual.miniplayer_top_toggle) { + pinMiniPlayer(status = false) { + if (!status){ + if (!this.cfg.visual.miniplayer_top_toggle) { ipcRenderer.send('windowontop', true) - this.cfg.visual.miniplayer_top_toggle = false + this.cfg.visual.miniplayer_top_toggle = true; } else { ipcRenderer.send('windowontop', false) - this.cfg.visual.miniplayer_top_toggle = true; + this.cfg.visual.miniplayer_top_toggle = false; + }} else { + ipcRenderer.send('windowontop', this.cfg.visual.miniplayer_top_toggle ?? false) } }, formatTimezoneOffset: (e = new Date) => { diff --git a/src/renderer/views/components/mediaitem-square.ejs b/src/renderer/views/components/mediaitem-square.ejs index 7fcc7dfe..296d1780 100644 --- a/src/renderer/views/components/mediaitem-square.ejs +++ b/src/renderer/views/components/mediaitem-square.ejs @@ -76,7 +76,7 @@ isVisible: false, addedToLibrary: false, guid: this.uuidv4(), - noplay: ["apple-curators"], + noplay: ["apple-curators", "editorial-elements"], nomenu: ["artists", "stations", "apple-curators", "editorial-elements"], app: this.$root, badges: this.$root.socialBadges.badgeMap, diff --git a/src/renderer/views/components/miniplayer.ejs b/src/renderer/views/components/miniplayer.ejs index 6ee98ae4..ca961cac 100644 --- a/src/renderer/views/components/miniplayer.ejs +++ b/src/renderer/views/components/miniplayer.ejs @@ -155,6 +155,9 @@ beforeDestroy() { window.removeEventListener('keyup', this.onEscapeKeyUp) }, + mounted() { + app.pinMiniPlayer(true) + }, methods: { onEscapeKeyUp(event) { if (event.which === 27) { diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index f8b3d5f2..67be8cb1 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -752,6 +752,15 @@ +
+
+ {{$root.getLz('settings.option.visual.transparent')}}
+ ({{$root.getLz('settings.option.visual.transparent.description')}}) +
+
+ +
+
@@ -909,6 +918,13 @@ updateFields[i].title = "Not available on this type of build"; } } + }, + promptForRelaunch(){ + bootbox.confirm(app.getLz('action.relaunch.confirm'), function (result) { + if (result) { + ipcRenderer.send('relaunchApp',''); + } + }); } } })