diff --git a/package.json b/package.json index 5c21e81..7e88afa 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@types/node": "^17.0.41", "@types/ws": "^8.5.3", "copyfiles": "^2.4.1", - "electron": "^19.0.4", + "electron": "^18.2.4", "electron-builder": "^23.0.3", "husky": "^8.0.1", "prettier": "^2.5.1", diff --git a/src/content/setup.html b/src/content/setup.html index 4b9d4bd..6ed4c94 100644 --- a/src/content/setup.html +++ b/src/content/setup.html @@ -101,7 +101,6 @@ automaticPatches: false, mods: "cumcord", inviteWebsocket: true, - performanceMode: "none", blurType: "acrylic" }); setTimeout(() => window.armcordinternal.restart(), 5000); @@ -131,7 +130,6 @@ autoLaunch: true, minimizeToTray: true, automaticPatches: false, - performanceMode: "none", mods: options.mod, inviteWebsocket: true, blurType: "acrylic" @@ -147,7 +145,6 @@ automaticPatches: false, autoLaunch: true, mods: "none", - performanceMode: "none", inviteWebsocket: true, blurType: "acrylic" }); diff --git a/src/main.ts b/src/main.ts index 8d1abb9..ec61b77 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,7 +1,7 @@ // Modules to control application life and create native browser window import {app, BrowserWindow, session, dialog} from "electron"; import "v8-compile-cache"; -import {getConfig, setup, checkIfConfigExists, injectElectronFlags} from "./utils"; +import {getConfig, setup, checkIfConfigExists} from "./utils"; import "./extensions/mods"; import "./extensions/plugin"; import "./tray"; @@ -12,7 +12,6 @@ export var settings: any; export var customTitlebar: boolean; export var tabs: boolean; - if (process.platform == "linux") { if (process.env.$XDG_SESSION_TYPE == "wayland") { console.log("Wayland specific patches applied."); @@ -25,7 +24,7 @@ if (process.platform == "linux") { } } checkIfConfigExists(); -injectElectronFlags(); + app.whenReady().then(async () => { switch (await getConfig("windowStyle")) { case "default": diff --git a/src/settings/settings.html b/src/settings/settings.html index c57151c..7d723c5 100644 --- a/src/settings/settings.html +++ b/src/settings/settings.html @@ -58,14 +58,7 @@

Client mod:

-
- -

Performance mode:

-
+ @@ -78,7 +71,6 @@ document.getElementById("mod").value = await settings.get("mods"); document.getElementById("channel").value = await settings.get("channel"); document.getElementById("theme").value = await settings.get("windowStyle"); - document.getElementById("performanceMode").value = await settings.get("performanceMode"); } loadSettings(); document.getElementById("save").addEventListener("click", function () { @@ -92,7 +84,6 @@ mods: document.getElementById("mod").value, blurType: "acrylic", inviteWebsocket: document.getElementById("websocket").checked, - performanceMode: document.getElementById("prfmMode").value, doneSetup: true }); }); diff --git a/src/utils.ts b/src/utils.ts index 2a42ff8..e331a96 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,7 +1,6 @@ import * as fs from "fs"; import {app, dialog} from "electron"; import path from "path"; -import { defaultMaxListeners } from "events"; export var firstRun: boolean; export var isSetup: boolean; export var contentPath: string; @@ -43,7 +42,6 @@ export function setup() { automaticPatches: false, mods: "cumcord", blurType: "acrylic", - performanceMode: "none", inviteWebsocket: true, doneSetup: false }; @@ -65,45 +63,7 @@ export async function injectJS(inject: string) { document.body.appendChild(el); } -export async function injectElectronFlags() { - // MIT License - // Copyright (c) 2022 GooseNest - - // Permission is hereby granted, free of charge, to any person obtaining a copy - // of this software and associated documentation files (the "Software"), to deal - // in the Software without restriction, including without limitation the rights - // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - // copies of the Software, and to permit persons to whom the Software is - // furnished to do so, subject to the following conditions: - - // The above copyright notice and this permission notice shall be included in all - // copies or substantial portions of the Software. - - // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - // SOFTWARE. - const presets = { - 'performance': `--enable-gpu-rasterization --enable-zero-copy --ignore-gpu-blocklist --enable-hardware-overlays=single-fullscreen,single-on-top,underlay --enable-features=EnableDrDc,CanvasOopRasterization,BackForwardCache:TimeToLiveInBackForwardCacheInSeconds/300/should_ignore_blocklists/true/enable_same_site/true,ThrottleDisplayNoneAndVisibilityHiddenCrossOriginIframes,UseSkiaRenderer,WebAssemblyLazyCompilation --disable-features=Vulkan --force_high_performance_gpu`, // Performance - 'battery': '--enable-features=TurnOffStreamingMediaCachingOnBattery --force_low_power_gpu' // Known to have better battery life for Chromium? - }; - switch (await getConfig("performanceMode")) { - case "performance": - console.log("Performance mode enabled"); - app.commandLine.appendSwitch(presets.performance); - break; - case "battery": - console.log("Battery mode enabled"); - app.commandLine.appendSwitch(presets.battery); - break; - default: - console.log("No performance modes set"); - } -} //ArmCord Settings/Storage manager export interface Settings { @@ -113,7 +73,6 @@ export interface Settings { minimizeToTray: boolean; automaticPatches: boolean; mods: string; - performanceMode: string, blurType: string; inviteWebsocket: boolean; doneSetup: boolean; diff --git a/src/window.ts b/src/window.ts index 9b6acf2..7445fe7 100644 --- a/src/window.ts +++ b/src/window.ts @@ -119,7 +119,7 @@ export function createCustomWindow() { height: 350, title: "ArmCord", darkTheme: true, - icon: path.join(__dirname, "../", "/assets/ac_icon_transparent.png"), + icon: path.join(__dirname, "/assets/icon_transparent.png"), frame: false, autoHideMenuBar: true, webPreferences: { @@ -135,7 +135,7 @@ export function createNativeWindow() { height: 350, title: "ArmCord", darkTheme: true, - icon: path.join(__dirname, "../", "/assets/ac_icon_transparent.png"), + icon: path.join(__dirname, "/assets/icon_transparent.png"), frame: true, autoHideMenuBar: true, webPreferences: { @@ -157,7 +157,7 @@ export function createTabsHost() { height: 350, title: "ArmCord", darkTheme: true, - icon: path.join(__dirname, "../", "/assets/ac_icon_transparent.png"), + icon: path.join(__dirname, "/assets/icon_transparent.png"), frame: true, autoHideMenuBar: true, webPreferences: { @@ -186,7 +186,7 @@ export function createTabsGuest(number: number) { height: 600, title: "ArmCord Guest Window " + number, darkTheme: true, - icon: path.join(__dirname, "../", "/assets/ac_icon_transparent.png"), + icon: path.join(__dirname, "/assets/icon_transparent.png"), frame: true, autoHideMenuBar: true, webPreferences: { @@ -223,7 +223,7 @@ export function createInviteWindow() { height: 600, title: "ArmCord Invite Manager", darkTheme: true, - icon: path.join(__dirname, "../", "/assets/ac_icon_transparent.png"), + icon: path.join(__dirname, "/assets/icon_transparent.png"), frame: true, autoHideMenuBar: true, webPreferences: {