refactor: remove cleaner menu and accelerated 2D canvas toggle

This commit is contained in:
2026-04-04 14:39:16 -07:00
parent 2a49639f98
commit ab5be15542
5 changed files with 2 additions and 69 deletions
-4
View File
@@ -75,7 +75,6 @@ export interface AppConfig {
showExitButton: boolean;
deathscreenAnimation: boolean;
hideMenuPopups: boolean;
cleanerMenu: boolean;
menuTimer: boolean;
doublePing: boolean;
cssTheme: string;
@@ -96,7 +95,6 @@ export interface AppConfig {
removeUselessFeatures: boolean;
gpuRasterizing: boolean;
helpfulFlags: boolean;
disableAccelerated2D: boolean;
increaseLimits: boolean;
lowLatency: boolean;
experimentalFlags: boolean;
@@ -180,7 +178,6 @@ export const config = new Store<AppConfig>({
showExitButton: true,
deathscreenAnimation: true,
hideMenuPopups: false,
cleanerMenu: false,
menuTimer: true,
doublePing: true,
cssTheme: 'disabled',
@@ -201,7 +198,6 @@ export const config = new Store<AppConfig>({
removeUselessFeatures: true,
gpuRasterizing: false,
helpfulFlags: true,
disableAccelerated2D: false,
increaseLimits: false,
lowLatency: false,
experimentalFlags: false,
-1
View File
@@ -49,7 +49,6 @@ const advancedDefaults = {
removeUselessFeatures: true,
gpuRasterizing: false,
helpfulFlags: true,
disableAccelerated2D: false,
increaseLimits: false,
lowLatency: false,
experimentalFlags: false,
-5
View File
@@ -106,11 +106,6 @@ export function applyPlatformFlags(info: PlatformInfo, advanced: AppConfig['adva
app.commandLine.appendSwitch('enable-features', 'V8VmFuture,WebAssemblyBaseline,WebAssemblyTiering,WebAssemblyLazyCompilation');
}
// ── Disable accelerated 2D canvas ──
if (advanced.disableAccelerated2D) {
app.commandLine.appendSwitch('disable-accelerated-2d-canvas');
}
// ── Increase limits ──
if (advanced.increaseLimits) {
app.commandLine.appendSwitch('renderer-process-limit', '100');
+2 -12
View File
@@ -4,7 +4,7 @@ import type { MatchmakerConfig } from './matchmaker';
import { initUserscripts, getInstances, setScriptEnabled } from './userscripts';
import type { UserscriptInstance } from './userscripts';
import { initTranslator, updateTranslatorConfig } from './translator';
import { setDeathAnimBlock, setCleanerMenu, setMenuTimer, escapeHtml } from './utils';
import { setDeathAnimBlock, setMenuTimer, escapeHtml } from './utils';
import { initChat, setBetterChat, setChatHistorySize } from './chat';
import { initHPCounter, destroyHPCounter, initRankProgress } from './competitive';
import { checkChangelog } from './changelog';
@@ -608,13 +608,6 @@ function buildGeneralSection(
onChange: (v) => { game.joinAsSpectator = v; ipcRenderer.invoke('set-config', 'game', game); },
}));
body.appendChild(createToggleRow({
label: 'Cleaner Menu',
desc: 'Hide clutter from the main menu (scrollbars, social buttons, class preview, etc.)',
checked: ui.cleanerMenu ?? false, instant: true,
onChange: (v) => { ui.cleanerMenu = v; saveUI(); setCleanerMenu(v); },
}));
body.appendChild(createToggleRow({
label: 'Menu Timer',
desc: 'Show the game/spectate timer on the menu screen',
@@ -1089,7 +1082,6 @@ function buildAdvancedSection(
removeUselessFeatures: true,
gpuRasterizing: false,
helpfulFlags: true,
disableAccelerated2D: false,
increaseLimits: false,
lowLatency: false,
experimentalFlags: false,
@@ -1134,9 +1126,8 @@ function buildAdvancedSection(
{ key: 'removeUselessFeatures', label: 'Remove Useless Features', desc: 'Disables crash reporting, metrics, print preview, and other unused Chromium features', safety: 1 },
{ key: 'gpuRasterizing', label: 'GPU Rasterization', desc: 'Force GPU rasterization and out-of-process rasterization', safety: 2 },
{ key: 'helpfulFlags', label: 'Useful Flags', desc: 'Enables WebGL, JS harmony, V8 features, background throttle prevention, and autoplay bypass', safety: 3 },
{ key: 'disableAccelerated2D', label: 'Disable Accelerated 2D Canvas', desc: 'Disables hardware-accelerated 2D canvas rendering', safety: 3 },
{ key: 'increaseLimits', label: 'Increase Limits', desc: 'Raises renderer process, WebGL context, and WebRTC CPU limits; ignores GPU blocklist', safety: 4 },
{ key: 'lowLatency', label: 'Low Latency Flags', desc: 'Enables high-resolution timer, QUIC protocol, and accelerated 2D canvas', safety: 4 },
{ key: 'lowLatency', label: 'Low Latency Flags', desc: 'Enables high-resolution timer, QUIC protocol, and high-performance GPU', safety: 4 },
{ key: 'experimentalFlags', label: 'Experimental Flags', desc: 'Enables accelerated video decode, native GPU memory buffers, high DPI support, and disables pings/proxy', safety: 4 },
];
@@ -1654,7 +1645,6 @@ ipcRenderer.on('main_did-finish-load', () => {
if (uiConf?.deathscreenAnimation) setDeathAnimBlock(true);
if (uiConf?.hideMenuPopups) startHidePopups();
if (uiConf?.cleanerMenu) setCleanerMenu(true);
if (uiConf?.menuTimer ?? true) setMenuTimer(true);
// ── Double ping display ──
-47
View File
@@ -40,40 +40,6 @@ export function setDeathAnimBlock(enabled: boolean): void {
}
}
// ── Cleaner Menu ──
// Hides clutter from the main menu for a streamlined look.
const CLEANER_MENU_ID = 'kpc-cleanerMenu';
const CLEANER_MENU_CSS = `
*::-webkit-scrollbar { display: none !important; }
.settingsBtn[style*="width:auto;background-color:#994cd1"] { display: none !important; }
.setSugBox2 { display: none !important; }
.advancedSwitch { display: none !important; }
.menuSocialB { display: none !important; }
.serverHostOpH { display: none !important; }
.signup-rewards-container { display: none !important; }
#tlInfHold { display: none !important; }
#gameNameHolder { display: none !important; }
#termsInfo { display: none !important; }
#bubbleContainer { display: none !important; }
#instructions:only-child { display: none !important; }
#mapInfoHld { display: none !important; }
#krDiscountAd { display: none !important; }
#classPreviewCanvas { display: none !important; }
#menuClassSubtext { display: none !important; }
#settingsPreset { display: none !important; }
#menuClassName { display: none !important; }
#menuBtnQuickMatch { display: none !important; }
#menuClassIcn { display: none !important; }
#streamContainerNew { display: none !important; }
#editorBtnM { display: none !important; }
.verticalSeparator { visibility: hidden !important; }
#mLevelCont { background-color: transparent; }
#uiBase.onMenu #spectButton { top: 94% !important; }
.headerBarL, .headerBar, .menuBtnHL { background-color: transparent; }
.headerBarR { right: -23px !important; }
`;
// ── Menu Timer ──
// Shows the native spectate/game timer prominently on the menu screen.
// CSS approach from crankshaft/glorp.
@@ -125,16 +91,3 @@ export function setMenuTimer(enabled: boolean): void {
}
}
export function setCleanerMenu(enabled: boolean): void {
let el = document.getElementById(CLEANER_MENU_ID);
if (enabled) {
if (!el) {
el = document.createElement('style');
el.id = CLEANER_MENU_ID;
el.textContent = CLEANER_MENU_CSS;
document.head.appendChild(el);
}
} else if (el) {
el.remove();
}
}