diff --git a/app/src/main/java/io/xpipe/app/util/RemoteDesktopDockComp.java b/app/src/main/java/io/xpipe/app/util/RemoteDesktopDockComp.java index 2aaaa6037..8c2fcba1a 100644 --- a/app/src/main/java/io/xpipe/app/util/RemoteDesktopDockComp.java +++ b/app/src/main/java/io/xpipe/app/util/RemoteDesktopDockComp.java @@ -58,7 +58,6 @@ public class RemoteDesktopDockComp extends SimpleRegionBuilder { if (target == null || (target.getProperties().get("entry") != null && target.getProperties().get("entry").equals(w.getSelected().getValue()))) { Platform.runLater(() -> { - content.requestFocus(); w.focus(); }); } @@ -160,11 +159,19 @@ public class RemoteDesktopDockComp extends SimpleRegionBuilder { } if (entry != null && entry.isInternal()) { - stack.getChildren().add(map.get(entry)); + Region r = map.get(entry); + stack.getChildren().add(r); + r.requestFocus(); } }); }); + stack.focusedProperty().subscribe(focus -> { + if (focus && stack.getChildren().size() > 1) { + stack.getChildren().getLast().requestFocus(); + } + }); + return stack; } } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/remote-desktop-dock.css b/app/src/main/resources/io/xpipe/app/resources/style/remote-desktop-dock.css index 7137c139a..575b5f108 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/remote-desktop-dock.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/remote-desktop-dock.css @@ -49,3 +49,12 @@ -fx-border-width: 1 0 1 0; -fx-border-color: -color-border-default; } + +.remote-desktop-dock .internal-content { + -fx-border-color: -color-border-default; + -fx-border-width: 1 1 1 1; +} + +.remote-desktop-dock .internal-content:focused { + -fx-border-color: -color-accent-emphasis; +} \ No newline at end of file