diff --git a/src/main/persistAfterDiscordUpdates.ts b/src/main/persistAfterDiscordUpdates.ts index 14e328baf..ecaa35b7f 100644 --- a/src/main/persistAfterDiscordUpdates.ts +++ b/src/main/persistAfterDiscordUpdates.ts @@ -10,15 +10,34 @@ */ import { app } from "electron"; +import EventEmitter from "events"; import { dirname, join } from "path"; import { findStaleSibling, patchResourcesDir } from "./applyHostPatch"; -app.on("before-quit", () => { +function patchLatest() { + if (process.env.DISABLE_UPDATER_AUTO_PATCHING) return; + try { const stale = findStaleSibling(dirname(process.execPath)); if (stale) patchResourcesDir(stale, join(__dirname, "patcher.js")); } catch (err) { console.error("[Equicord] Failed to repatch latest host update", err); } -}); +} + +if (process.platform === "win32" || process.platform === "linux") { + EventEmitter.prototype.emit = new Proxy(EventEmitter.prototype.emit, { + apply(target, thisArg, argArray) { + if (argArray[0] === "host-updated") { + patchLatest(); + } + + return Reflect.apply(target, thisArg, argArray); + }, + }); + + // Try to patch latest on before-quit + // Discord's Win32 updater will call app.quit() on restart and open new version on will-quit + app.on("before-quit", patchLatest); +} diff --git a/src/plugins/webPWA.browser/styles.css b/src/plugins/webPWA.browser/styles.css index 6627e94a2..eabc17547 100644 --- a/src/plugins/webPWA.browser/styles.css +++ b/src/plugins/webPWA.browser/styles.css @@ -9,9 +9,16 @@ --custom-app-top-bar-height: env(titlebar-area-height, 0px) !important; } - /* position trailing titlebar elements alongside WCO */ - [data-fullscreen] > [class*="bar_"] [class*="trailing_"] { - padding-right: calc(100vw - env(titlebar-area-width, 100%) - env(titlebar-area-x, 0px)); + + /* position trailing/leading titlebar elements alongside WCO */ + [data-fullscreen] > [class*="bar_"] { + [class*="leading_"] { + padding-left: env(titlebar-area-x, 0); + } + + [class*="trailing_"] { + padding-right: calc(100vw - env(titlebar-area-width, 100%) - env(titlebar-area-x, 0px)); + } } /* popout windows like screenshare popout, these properties don't work outside WCO so this is safe */ @@ -19,6 +26,10 @@ [class*="headerWrapper_"] { app-region: drag; + [class*="headerBarChildren_"] { + padding-left: env(titlebar-area-x, 0); + } + /* position trailing toolbar elements alongside WCO */ [class*="toolbar_"] { padding-right: calc(100vw - env(titlebar-area-width, 100%) - env(titlebar-area-x, 0px)); @@ -35,4 +46,4 @@ display: none; } } -} \ No newline at end of file +}