diff --git a/app/src/main/java/io/xpipe/app/core/AppTheme.java b/app/src/main/java/io/xpipe/app/core/AppTheme.java index 03b0cbccc..04d75f3dd 100644 --- a/app/src/main/java/io/xpipe/app/core/AppTheme.java +++ b/app/src/main/java/io/xpipe/app/core/AppTheme.java @@ -56,7 +56,7 @@ public class AppTheme { PseudoClass.getPseudoClass(OsType.getLocal().getId()), true); if (AppPrefs.get() == null) { var def = Theme.getDefaultLightTheme(); - root.getStyleClass().add(def.getCssId()); + root.pseudoClassStateChanged(PseudoClass.getPseudoClass(def.getCssId()), true); root.pseudoClassStateChanged(LIGHT, true); root.pseudoClassStateChanged(DARK, false); root.pseudoClassStateChanged(PRETTY, true); @@ -65,12 +65,13 @@ public class AppTheme { } AppPrefs.get().theme().subscribe(t -> { - Theme.ALL.forEach(theme -> root.getStyleClass().remove(theme.getCssId())); + Theme.ALL.forEach(theme -> { + root.pseudoClassStateChanged(PseudoClass.getPseudoClass(theme.getCssId()), theme.equals(t)); + }); if (t == null) { return; } - root.getStyleClass().add(t.getCssId()); root.pseudoClassStateChanged(LIGHT, !t.isDark()); root.pseudoClassStateChanged(DARK, t.isDark()); }); diff --git a/app/src/main/resources/io/xpipe/app/resources/style/bookmark.css b/app/src/main/resources/io/xpipe/app/resources/style/bookmark.css index ab12956f4..84ce38f20 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/bookmark.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/bookmark.css @@ -1,6 +1,6 @@ -.root.nord .bookmarks-header .filter-comp { +.root:nord .bookmarks-header .filter-comp { -fx-border-radius: 0; -fx-background-radius: 0; } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/browser.css b/app/src/main/resources/io/xpipe/app/resources/style/browser.css index 8c0499d62..765f35c71 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/browser.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/browser.css @@ -37,7 +37,7 @@ -fx-padding: 0.1em 0.2em; } -.root.nord .transfer > * { +.root:nord .transfer > * { -fx-background-radius: 0; -fx-border-radius: 0; } @@ -89,7 +89,7 @@ -fx-background-radius: 4; } -.root.nord .browser .terminal-dock-comp:empty { +.root:nord .browser .terminal-dock-comp:empty { -fx-border-radius: 0; -fx-background-radius: 0; } @@ -267,7 +267,7 @@ -fx-padding: 0 4 4 0; } -.root.nord .browser .browser-content { +.root:nord .browser .browser-content { -fx-border-radius: 0; -fx-background-radius: 0; } @@ -328,11 +328,11 @@ -fx-background-color: -color-warning-subtle; } -.root:dark.nord .browser .table-row-cell:selected, .root:dark.nord .browser .table-row-cell:hover:selected { +.root:dark:nord .browser .table-row-cell:selected, .root:dark:nord .browser .table-row-cell:hover:selected { -fx-background-color: -color-success-7; } -.root:light.nord .browser .table-row-cell:selected, .root:light.nord .browser .table-row-cell:hover:selected { +.root:light:nord .browser .table-row-cell:selected, .root:light:nord .browser .table-row-cell:hover:selected { -fx-background-color: -color-success-1; } @@ -361,7 +361,7 @@ -fx-opacity: 1.0; } -.root.nord .browser .tab-container { +.root:nord .browser .tab-container { -fx-border-radius: 0; -fx-background-radius: 0; } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/frame.css b/app/src/main/resources/io/xpipe/app/resources/style/frame.css index ac31b3b65..801c74ea7 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/frame.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/frame.css @@ -47,7 +47,7 @@ -fx-padding: 0 0 0 0; } -.root:seamless-frame.nord .layout > .background { +.root:seamless-frame:nord .layout > .background { -fx-background-radius: 0 0 0 0; -fx-border-radius: 0 0 0 0; -fx-border-width: 1 1 0 0; @@ -62,7 +62,7 @@ -fx-border-color: -color-border-default; } -.root:dark:seamless-frame.primer .layout > .background, .root:dark:seamless-frame.mocha .layout > .background { +.root:dark:seamless-frame:primer .layout > .background, .root:dark:seamless-frame:mocha .layout > .background { -fx-border-color: #444; } @@ -76,7 +76,7 @@ -fx-border-radius: 0 6 0 0; } -.root:seamless-frame.nord .layout > .background > * { +.root:seamless-frame:nord .layout > .background > * { -fx-background-radius: 0 0 0 0; -fx-border-radius: 0 0 0 0; } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/header-bars.css b/app/src/main/resources/io/xpipe/app/resources/style/header-bars.css index 286f0f1cf..4f9ce84f6 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/header-bars.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/header-bars.css @@ -15,12 +15,12 @@ -fx-spacing: 0.45em; } -.root.nord .store-header-bar { +.root:nord .store-header-bar { -fx-background-radius: 0; -fx-border-radius: 0; } -.root.nord .bar { +.root:nord .bar { -fx-background-radius: 0; -fx-border-radius: 0; } @@ -38,7 +38,7 @@ -fx-border-color: transparent; } -.root.nord .store-header-bar .menu-button { +.root:nord .store-header-bar .menu-button { -fx-background-radius: 0; -fx-border-radius: 0; } @@ -51,7 +51,7 @@ -fx-padding: -5 -2 -5 -2; } -.root.primer:macos .store-header-bar .menu-button, .root.nord:macos .store-header-bar .menu-button, .root.dracula:macos .store-header-bar .menu-button, .root.mocha:macos .store-header-bar .menu-button { +.root:primer:macos .store-header-bar .menu-button, .root:nord:macos .store-header-bar .menu-button, .root:dracula:macos .store-header-bar .menu-button, .root:mocha:macos .store-header-bar .menu-button { -fx-padding: -5 -2 -5 -2; } @@ -94,7 +94,7 @@ -fx-spacing: 0.2em; } -.root.nord .store-creation-bar, .root.nord .store-sort-bar, .root.nord .store-category-bar { +.root:nord .store-creation-bar, .root:nord .store-sort-bar, .root:nord .store-category-bar { -fx-background-radius: 0; -fx-border-radius: 0; } @@ -155,7 +155,7 @@ -fx-border-radius: 3px; } -.root.nord .store-header-bar .filter-bar { +.root:nord .store-header-bar .filter-bar { -fx-background-radius: 0; -fx-border-radius: 0; } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/popup-menu.css b/app/src/main/resources/io/xpipe/app/resources/style/popup-menu.css index 1ace30ae3..33b0171eb 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/popup-menu.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/popup-menu.css @@ -57,7 +57,7 @@ -fx-border-color: -color-border-default; } -.root.nord .context-menu { +.root:nord .context-menu { -fx-padding: 0; -fx-background-radius:0; -fx-border-radius: 0; diff --git a/app/src/main/resources/io/xpipe/app/resources/style/prefs.css b/app/src/main/resources/io/xpipe/app/resources/style/prefs.css index cc8b63059..e55c87b2e 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/prefs.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/prefs.css @@ -56,7 +56,7 @@ -fx-background-radius: 4; } -.root.nord .prefs .sidebar { +.root:nord .prefs .sidebar { -fx-border-radius: 0; -fx-background-radius: 0; } @@ -68,7 +68,7 @@ -fx-background-insets: 0, 1 4 1 4; } -.root.nord .prefs .sidebar .button { +.root:nord .prefs .sidebar .button { -fx-background-radius: 0, 0, 0; } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/store-entry-comp.css b/app/src/main/resources/io/xpipe/app/resources/style/store-entry-comp.css index 8c53172c4..069b0c9e9 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/store-entry-comp.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/store-entry-comp.css @@ -12,7 +12,7 @@ -fx-border-radius: 4; } -.root.nord .store-entry-list-status-bar .button { +.root:nord .store-entry-list-status-bar .button { -fx-border-radius: 0; } @@ -74,7 +74,7 @@ -fx-background-radius: 5px; } -.root.nord .store-entry-grid .icon { +.root:nord .store-entry-grid .icon { -fx-background-radius: 3; } @@ -94,7 +94,7 @@ -fx-background-radius: 4px; } -.root.nord .store-entry-comp { +.root:nord .store-entry-comp { -fx-background-radius: 0; } @@ -181,7 +181,7 @@ -fx-padding: 0; } -.root.nord .store-entry-section-comp { +.root:nord .store-entry-section-comp { -fx-border-radius: 0; -fx-background-radius: 0; } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/store-mini-section.css b/app/src/main/resources/io/xpipe/app/resources/style/store-mini-section.css index c1d2506da..389fa7d2f 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/store-mini-section.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/store-mini-section.css @@ -10,7 +10,7 @@ -fx-background-radius: 0; } -.root.nord .store-section-mini-comp .item:hover, .root.nord:key-navigation .store-section-mini-comp .item:focused { +.root:nord .store-section-mini-comp .item:hover, .root:nord:key-navigation .store-section-mini-comp .item:focused { -fx-background-color: -color-accent-muted; } @@ -81,7 +81,7 @@ -fx-border-color: #3339; } -.root.nord .store-section-mini-comp:sub:expanded { +.root:nord .store-section-mini-comp:sub:expanded { -fx-border-radius: 0; } 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 fa285b1d0..d8a229982 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 @@ -125,7 +125,7 @@ -fx-border-color: -color-fg-subtle; } -.root.nord .icon-button-comp.batch-mode-button { +.root:nord .icon-button-comp.batch-mode-button { -fx-border-radius: 0; -fx-background-radius: 0; } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/tile-button-comp.css b/app/src/main/resources/io/xpipe/app/resources/style/tile-button-comp.css index f04ac019f..5368bf9e0 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/tile-button-comp.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/tile-button-comp.css @@ -4,7 +4,7 @@ -fx-background-radius: 4px; } -.root.nord .tile-button-comp { +.root:nord .tile-button-comp { -fx-background-radius: 0; }