From 1024a4b0082038fc46e365d64b5c5e67a5fb2007 Mon Sep 17 00:00:00 2001 From: JannisX11 Date: Sat, 27 Aug 2022 13:05:17 +0200 Subject: [PATCH] Fix #1543 Windows high contrast mode overrides UI colors Auto-select contrast theme if high contrast mode is detected Increase scrollbar width on mobile --- css/setup.css | 7 ++++--- js/boot_loader.js | 4 ++-- js/desktop.js | 5 +++++ js/interface/start_screen.js | 1 - 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/css/setup.css b/css/setup.css index dd5947343..c30e1d720 100644 --- a/css/setup.css +++ b/css/setup.css @@ -55,11 +55,11 @@ scrollbar-width: none; } body.is_mobile .mobile_scrollbar { - scrollbar-width: thin; + scrollbar-width: initial; } body.is_mobile .mobile_scrollbar::-webkit-scrollbar { - width: 12px; - height: 12px; + width: 20px; + height: 20px; } /*Assistant Font*/ @font-face { @@ -353,6 +353,7 @@ outline-color: var(--color-accent); background-color: var(--color-dark); image-rendering: pixelated; + forced-color-adjust: none; } div { cursor: default; diff --git a/js/boot_loader.js b/js/boot_loader.js index 2beda430e..b3b8a3ed4 100644 --- a/js/boot_loader.js +++ b/js/boot_loader.js @@ -53,8 +53,8 @@ console.log('%cBlockbench ' + appVersion + (isApp : (' Web ('+capitalizeFirstLetter(Blockbench.browser) + (Blockbench.isPWA ? ', PWA)' : ')'))), 'border: 2px solid #3e90ff; padding: 4px 8px; font-size: 1.2em;' ) -var startups = parseInt(localStorage.getItem('startups')||0); -localStorage.setItem('startups', startups+1); +Blockbench.startup_count = parseInt(localStorage.getItem('startups')||0) + 1; +localStorage.setItem('startups', Blockbench.startup_count); document.getElementById('blackout').addEventListener('click', event => { if (typeof open_interface.cancel == 'function') { diff --git a/js/desktop.js b/js/desktop.js index 90daee3b4..81bfb496d 100644 --- a/js/desktop.js +++ b/js/desktop.js @@ -39,6 +39,11 @@ function initializeDesktopApp() { return true; }); + if (Blockbench.startup_count <= 1 && electron.nativeTheme.inForcedColorsMode) { + let theme = CustomTheme.themes.find(t => t.id == 'contrast'); + CustomTheme.loadTheme(theme); + } + function makeUtilFolder(name) { let path = PathModule.join(app.getPath('userData'), name) if (!fs.existsSync(path)) fs.mkdirSync(path) diff --git a/js/interface/start_screen.js b/js/interface/start_screen.js index f24820cf3..6d1f534bf 100644 --- a/js/interface/start_screen.js +++ b/js/interface/start_screen.js @@ -452,7 +452,6 @@ ModelLoader.loaders = {}; dataType: 'json' }); documentReady.then(() => { - Blockbench.startup_count = parseInt(localStorage.getItem('startups')||0) //Backup Model if (localStorage.getItem('backup_model') && (!isApp || !currentwindow.webContents.second_instance) && localStorage.getItem('backup_model').length > 40) {