diff --git a/app/src/main/java/io/xpipe/app/comp/store/StoreEntryComp.java b/app/src/main/java/io/xpipe/app/comp/store/StoreEntryComp.java index 154aa8f9..b5ede20d 100644 --- a/app/src/main/java/io/xpipe/app/comp/store/StoreEntryComp.java +++ b/app/src/main/java/io/xpipe/app/comp/store/StoreEntryComp.java @@ -104,7 +104,7 @@ public abstract class StoreEntryComp extends SimpleComp { }); button.addEventFilter(MouseEvent.MOUSE_CLICKED, event -> { if (AppPrefs.get().requireDoubleClickForConnections().get()) { - if (event.getButton() == MouseButton.PRIMARY && event.getClickCount() != 2) { + if (event.getButton() == MouseButton.PRIMARY && event.getClickCount() > 2) { event.consume(); } } else { @@ -115,7 +115,7 @@ public abstract class StoreEntryComp extends SimpleComp { }); button.addEventFilter(MouseEvent.MOUSE_PRESSED, event -> { if (AppPrefs.get().requireDoubleClickForConnections().get()) { - if (event.getButton() == MouseButton.PRIMARY && event.getClickCount() != 2) { + if (event.getButton() == MouseButton.PRIMARY && event.getClickCount() > 2) { event.consume(); } } else { diff --git a/app/src/main/java/io/xpipe/app/comp/store/StoreNotesComp.java b/app/src/main/java/io/xpipe/app/comp/store/StoreNotesComp.java index f4453d6a..70d4f3d0 100644 --- a/app/src/main/java/io/xpipe/app/comp/store/StoreNotesComp.java +++ b/app/src/main/java/io/xpipe/app/comp/store/StoreNotesComp.java @@ -18,6 +18,7 @@ import javafx.event.ActionEvent; import javafx.scene.control.Button; import atlantafx.base.controls.Popover; +import javafx.scene.paint.Color; import java.util.List; import java.util.concurrent.atomic.AtomicReference; @@ -118,6 +119,7 @@ public class StoreNotesComp extends Comp { }.createRegion(); var popover = new Popover(dialog); + popover.getScene().setFill(Color.TRANSPARENT); popover.setCloseButtonEnabled(true); popover.setHeaderAlwaysVisible(true); popover.setDetachable(true); diff --git a/app/src/main/java/io/xpipe/app/core/window/AppWindowHelper.java b/app/src/main/java/io/xpipe/app/core/window/AppWindowHelper.java index 62f43b6e..6a943ca4 100644 --- a/app/src/main/java/io/xpipe/app/core/window/AppWindowHelper.java +++ b/app/src/main/java/io/xpipe/app/core/window/AppWindowHelper.java @@ -23,11 +23,9 @@ import javafx.scene.input.KeyEvent; import javafx.scene.layout.Pane; import javafx.scene.layout.Region; import javafx.scene.layout.StackPane; +import javafx.scene.paint.Color; import javafx.scene.text.Text; -import javafx.stage.Modality; -import javafx.stage.Screen; -import javafx.stage.Stage; -import javafx.stage.Window; +import javafx.stage.*; import java.util.Arrays; import java.util.List; @@ -107,13 +105,11 @@ public class AppWindowHelper { public static Stage sideWindow( String title, Function> contentFunc, boolean bindSize, ObservableValue loading) { var stage = new Stage(); + stage.initStyle(StageStyle.UNIFIED); if (AppMainWindow.getInstance() != null) { stage.initOwner(AppMainWindow.getInstance().getStage()); } stage.setTitle(title); - if (AppMainWindow.getInstance() != null) { - stage.initOwner(AppMainWindow.getInstance().getStage()); - } addIcons(stage); setupContent(stage, contentFunc, bindSize, loading); @@ -250,6 +246,7 @@ public class AppWindowHelper { public static Alert createEmptyAlert() { Alert alert = new Alert(Alert.AlertType.NONE); + alert.getDialogPane().getScene().setFill(Color.TRANSPARENT); addIcons(((Stage) alert.getDialogPane().getScene().getWindow())); setupStylesheets(alert.getDialogPane().getScene()); return alert; @@ -294,6 +291,7 @@ public class AppWindowHelper { var contentR = content.createRegion(); AppFont.small(contentR); var scene = new Scene(bindSize ? new Pane(contentR) : contentR, -1, -1, false); + scene.setFill(Color.TRANSPARENT); stage.setScene(scene); contentR.requestFocus(); if (bindSize) { diff --git a/app/src/main/resources/io/xpipe/app/resources/style/alert.css b/app/src/main/resources/io/xpipe/app/resources/style/alert.css index 571fff7c..32cb76c8 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/alert.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/alert.css @@ -17,6 +17,10 @@ -fx-border-width: 1 0 0 0; } +.root:seamless-frame.dialog-pane > *.button-bar > *.container { + -fx-background-color: transparent; +} + .dialog-pane:header .header-panel { -fx-background-color: -color-bg-default; -fx-padding: 1.5em; @@ -51,3 +55,7 @@ .dialog-pane:header > *.label.content { -fx-font-size: 0.8em; } + +.dialog-pane:no-header .content { + -fx-background-color: -color-bg-default; +} diff --git a/app/src/main/resources/io/xpipe/app/resources/style/dialog-comp.css b/app/src/main/resources/io/xpipe/app/resources/style/dialog-comp.css index 196a8efa..76ab4e1d 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/dialog-comp.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/dialog-comp.css @@ -1,4 +1,4 @@ -.dialog-comp { +.dialog-comp .scroll-pane { -fx-background-color: -color-bg-default; } @@ -18,4 +18,8 @@ -fx-border-color: -color-border-default; -fx-background-color: -color-bg-subtle; -fx-border-width: 1 0 0 0; +} + +.root:seamless-frame .dialog-comp .buttons { + -fx-background-color: transparent; } \ No newline at end of file diff --git a/app/src/main/resources/io/xpipe/app/resources/style/popover.css b/app/src/main/resources/io/xpipe/app/resources/style/popover.css index abfefca5..bf805657 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/popover.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/popover.css @@ -29,3 +29,7 @@ .popover > .content > .title > .text { -fx-padding: 10 0 0 0; } + +.popover .dialog-comp .buttons { + -fx-background-color: -color-bg-subtle; +} 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 ff1ce11d..03a1ae31 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 @@ -17,7 +17,7 @@ -fx-background-color: derive(-color-bg-default, -9%); } -.root:seamless-frame .background { +.root:seamless-frame .layout > .background { -fx-background-insets: 5 0 0 0; -fx-border-insets: 5 0 0 0; -fx-background-radius: 0 10 0 0; @@ -27,7 +27,7 @@ -fx-padding: 0 2 0 0; } -.root:seamless-frame .background > * { +.root:seamless-frame .layout > .background > * { -fx-background-radius: 0 10 0 0; -fx-border-radius: 0 10 0 0; } diff --git a/dist/changelogs/10.0.md b/dist/changelogs/10.0.md index ea6b647f..60e990f2 100644 --- a/dist/changelogs/10.0.md +++ b/dist/changelogs/10.0.md @@ -63,7 +63,7 @@ The UI has also been streamlined to make common actions and toggles more easily ## Other -- The title bar on windows will now follow the appearance theme +- The title bar on Windows will now follow the appearance theme - Several more actions have been added for podman containers - Support VMs for tunneling - Searching for connections has been improved to show children as well