refactor: remove cleaner menu and accelerated 2D canvas toggle
This commit is contained in:
@@ -75,7 +75,6 @@ export interface AppConfig {
|
|||||||
showExitButton: boolean;
|
showExitButton: boolean;
|
||||||
deathscreenAnimation: boolean;
|
deathscreenAnimation: boolean;
|
||||||
hideMenuPopups: boolean;
|
hideMenuPopups: boolean;
|
||||||
cleanerMenu: boolean;
|
|
||||||
menuTimer: boolean;
|
menuTimer: boolean;
|
||||||
doublePing: boolean;
|
doublePing: boolean;
|
||||||
cssTheme: string;
|
cssTheme: string;
|
||||||
@@ -96,7 +95,6 @@ export interface AppConfig {
|
|||||||
removeUselessFeatures: boolean;
|
removeUselessFeatures: boolean;
|
||||||
gpuRasterizing: boolean;
|
gpuRasterizing: boolean;
|
||||||
helpfulFlags: boolean;
|
helpfulFlags: boolean;
|
||||||
disableAccelerated2D: boolean;
|
|
||||||
increaseLimits: boolean;
|
increaseLimits: boolean;
|
||||||
lowLatency: boolean;
|
lowLatency: boolean;
|
||||||
experimentalFlags: boolean;
|
experimentalFlags: boolean;
|
||||||
@@ -180,7 +178,6 @@ export const config = new Store<AppConfig>({
|
|||||||
showExitButton: true,
|
showExitButton: true,
|
||||||
deathscreenAnimation: true,
|
deathscreenAnimation: true,
|
||||||
hideMenuPopups: false,
|
hideMenuPopups: false,
|
||||||
cleanerMenu: false,
|
|
||||||
menuTimer: true,
|
menuTimer: true,
|
||||||
doublePing: true,
|
doublePing: true,
|
||||||
cssTheme: 'disabled',
|
cssTheme: 'disabled',
|
||||||
@@ -201,7 +198,6 @@ export const config = new Store<AppConfig>({
|
|||||||
removeUselessFeatures: true,
|
removeUselessFeatures: true,
|
||||||
gpuRasterizing: false,
|
gpuRasterizing: false,
|
||||||
helpfulFlags: true,
|
helpfulFlags: true,
|
||||||
disableAccelerated2D: false,
|
|
||||||
increaseLimits: false,
|
increaseLimits: false,
|
||||||
lowLatency: false,
|
lowLatency: false,
|
||||||
experimentalFlags: false,
|
experimentalFlags: false,
|
||||||
|
|||||||
@@ -49,7 +49,6 @@ const advancedDefaults = {
|
|||||||
removeUselessFeatures: true,
|
removeUselessFeatures: true,
|
||||||
gpuRasterizing: false,
|
gpuRasterizing: false,
|
||||||
helpfulFlags: true,
|
helpfulFlags: true,
|
||||||
disableAccelerated2D: false,
|
|
||||||
increaseLimits: false,
|
increaseLimits: false,
|
||||||
lowLatency: false,
|
lowLatency: false,
|
||||||
experimentalFlags: false,
|
experimentalFlags: false,
|
||||||
|
|||||||
@@ -106,11 +106,6 @@ export function applyPlatformFlags(info: PlatformInfo, advanced: AppConfig['adva
|
|||||||
app.commandLine.appendSwitch('enable-features', 'V8VmFuture,WebAssemblyBaseline,WebAssemblyTiering,WebAssemblyLazyCompilation');
|
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 ──
|
// ── Increase limits ──
|
||||||
if (advanced.increaseLimits) {
|
if (advanced.increaseLimits) {
|
||||||
app.commandLine.appendSwitch('renderer-process-limit', '100');
|
app.commandLine.appendSwitch('renderer-process-limit', '100');
|
||||||
|
|||||||
+2
-12
@@ -4,7 +4,7 @@ import type { MatchmakerConfig } from './matchmaker';
|
|||||||
import { initUserscripts, getInstances, setScriptEnabled } from './userscripts';
|
import { initUserscripts, getInstances, setScriptEnabled } from './userscripts';
|
||||||
import type { UserscriptInstance } from './userscripts';
|
import type { UserscriptInstance } from './userscripts';
|
||||||
import { initTranslator, updateTranslatorConfig } from './translator';
|
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 { initChat, setBetterChat, setChatHistorySize } from './chat';
|
||||||
import { initHPCounter, destroyHPCounter, initRankProgress } from './competitive';
|
import { initHPCounter, destroyHPCounter, initRankProgress } from './competitive';
|
||||||
import { checkChangelog } from './changelog';
|
import { checkChangelog } from './changelog';
|
||||||
@@ -608,13 +608,6 @@ function buildGeneralSection(
|
|||||||
onChange: (v) => { game.joinAsSpectator = v; ipcRenderer.invoke('set-config', 'game', game); },
|
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({
|
body.appendChild(createToggleRow({
|
||||||
label: 'Menu Timer',
|
label: 'Menu Timer',
|
||||||
desc: 'Show the game/spectate timer on the menu screen',
|
desc: 'Show the game/spectate timer on the menu screen',
|
||||||
@@ -1089,7 +1082,6 @@ function buildAdvancedSection(
|
|||||||
removeUselessFeatures: true,
|
removeUselessFeatures: true,
|
||||||
gpuRasterizing: false,
|
gpuRasterizing: false,
|
||||||
helpfulFlags: true,
|
helpfulFlags: true,
|
||||||
disableAccelerated2D: false,
|
|
||||||
increaseLimits: false,
|
increaseLimits: false,
|
||||||
lowLatency: false,
|
lowLatency: false,
|
||||||
experimentalFlags: 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: '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: '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: '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: '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 },
|
{ 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?.deathscreenAnimation) setDeathAnimBlock(true);
|
||||||
if (uiConf?.hideMenuPopups) startHidePopups();
|
if (uiConf?.hideMenuPopups) startHidePopups();
|
||||||
if (uiConf?.cleanerMenu) setCleanerMenu(true);
|
|
||||||
if (uiConf?.menuTimer ?? true) setMenuTimer(true);
|
if (uiConf?.menuTimer ?? true) setMenuTimer(true);
|
||||||
|
|
||||||
// ── Double ping display ──
|
// ── Double ping display ──
|
||||||
|
|||||||
@@ -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 ──
|
// ── Menu Timer ──
|
||||||
// Shows the native spectate/game timer prominently on the menu screen.
|
// Shows the native spectate/game timer prominently on the menu screen.
|
||||||
// CSS approach from crankshaft/glorp.
|
// 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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user