From bf4c8d8f5b0e89e138e673c2cddacd7e34419512 Mon Sep 17 00:00:00 2001 From: crschnick Date: Wed, 19 Jun 2024 18:08:24 +0000 Subject: [PATCH] Fixes --- .../java/io/xpipe/app/core/mode/PlatformMode.java | 2 +- .../io/xpipe/app/core/window/ModifiedStage.java | 13 +++++++++++-- .../io/xpipe/app/resources/style/scrollbar.css | 2 +- .../io/xpipe/app/resources/style/style.css | 2 ++ 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/io/xpipe/app/core/mode/PlatformMode.java b/app/src/main/java/io/xpipe/app/core/mode/PlatformMode.java index 092007b32..3680586c9 100644 --- a/app/src/main/java/io/xpipe/app/core/mode/PlatformMode.java +++ b/app/src/main/java/io/xpipe/app/core/mode/PlatformMode.java @@ -35,7 +35,7 @@ public abstract class PlatformMode extends OperationMode { AppStyle.init(); AppImages.init(); AppLayoutModel.init(); - ModifiedStage.hook(); + ModifiedStage.init(); TrackEvent.info("Finished essential component initialization before platform"); TrackEvent.info("Launching application ..."); diff --git a/app/src/main/java/io/xpipe/app/core/window/ModifiedStage.java b/app/src/main/java/io/xpipe/app/core/window/ModifiedStage.java index ae969aa8d..9826a180e 100644 --- a/app/src/main/java/io/xpipe/app/core/window/ModifiedStage.java +++ b/app/src/main/java/io/xpipe/app/core/window/ModifiedStage.java @@ -13,7 +13,7 @@ public class ModifiedStage extends Stage { @SneakyThrows @SuppressWarnings("unchecked") - public static void hook() { + public static void init() { var windowsField = Window.class.getDeclaredField("windows"); windowsField.setAccessible(true); ObservableList list = (ObservableList) windowsField.get(null); @@ -32,9 +32,18 @@ public class ModifiedStage extends Stage { return; } + if (AppPrefs.get() == null) { + return; + } + var ctrl = new NativeWinWindowControl(stage); ctrl.setWindowAttribute(DmwaWindowAttribute.DWMWA_USE_IMMERSIVE_DARK_MODE.getValue(), AppPrefs.get().theme.getValue().isDark()); - var backdrop = ctrl.setWindowBackdrop(DwmSystemBackDropType.MICA_ALT); + boolean backdrop; + if (AppPrefs.get().performanceMode().get()) { + backdrop = false; + } else { + backdrop = ctrl.setWindowBackdrop(DwmSystemBackDropType.MICA_ALT); + } stage.getScene().getRoot().pseudoClassStateChanged(PseudoClass.getPseudoClass("seamless-frame"), backdrop); stage.getScene().getRoot().pseudoClassStateChanged(PseudoClass.getPseudoClass("separate-frame"), !backdrop); } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/scrollbar.css b/app/src/main/resources/io/xpipe/app/resources/style/scrollbar.css index ae298c5f5..95649476b 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/scrollbar.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/scrollbar.css @@ -1,6 +1,6 @@ .scroll-bar:vertical { -fx-pref-width: 0.3em; - -fx-padding: 0.3em 0 0.3em 0; + -fx-padding: 0.4em 0 0.3em 0; -fx-background-color: transparent; } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/style.css b/app/src/main/resources/io/xpipe/app/resources/style/style.css index 3159fed28..ff1ce11de 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/style.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/style.css @@ -18,6 +18,8 @@ } .root:seamless-frame .background { + -fx-background-insets: 5 0 0 0; + -fx-border-insets: 5 0 0 0; -fx-background-radius: 0 10 0 0; -fx-border-radius: 0 10 0 0; -fx-border-width: 1 1 0 0;