From ef603a4dae766bbdb9fe972f50f6b0e4bfaee729 Mon Sep 17 00:00:00 2001 From: crschnick Date: Wed, 28 Jan 2026 14:17:05 +0000 Subject: [PATCH] Fixes --- .../main/java/io/xpipe/app/hub/comp/StoreCategoryComp.java | 5 +++-- .../java/io/xpipe/app/hub/comp/StoreCategoryWrapper.java | 6 ++++++ .../main/java/io/xpipe/app/hub/comp/StoreLayoutComp.java | 3 +-- .../java/io/xpipe/app/terminal/TerminalDockHubManager.java | 4 ++-- .../main/java/io/xpipe/app/terminal/TerminalLauncher.java | 2 +- build.gradle | 2 +- dist/changelog/21.0.md | 1 + version | 2 +- 8 files changed, 16 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/io/xpipe/app/hub/comp/StoreCategoryComp.java b/app/src/main/java/io/xpipe/app/hub/comp/StoreCategoryComp.java index 8808270fc..c067ad5d7 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/StoreCategoryComp.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/StoreCategoryComp.java @@ -65,9 +65,10 @@ public class StoreCategoryComp extends SimpleRegionBuilder { category.getName().setValue(newValue); } }); - var name = new LazyTextFieldComp(prop).style("name").apply(sp -> { + var name = new LazyTextFieldComp(prop).style("name").applyStructure(struc -> { category.getRenameTrigger().onFire(() -> { - sp.requestFocus(); + struc.get().requestFocus(); + struc.getTextField().selectAll(); }); }).build(); var showing = new SimpleBooleanProperty(); diff --git a/app/src/main/java/io/xpipe/app/hub/comp/StoreCategoryWrapper.java b/app/src/main/java/io/xpipe/app/hub/comp/StoreCategoryWrapper.java index 6216b47b7..8241c82b6 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/StoreCategoryWrapper.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/StoreCategoryWrapper.java @@ -8,6 +8,7 @@ import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreCategory; import io.xpipe.app.storage.DataStoreColor; +import javafx.application.Platform; import javafx.beans.binding.Bindings; import javafx.beans.property.*; import javafx.beans.value.ObservableStringValue; @@ -123,6 +124,11 @@ public class StoreCategoryWrapper { } category.setName(n); + if (!category.getName().equals(name.getValue())) { + Platform.runLater(() -> { + name.setValue(category.getName()); + }); + } }); expanded.addListener((c, o, n) -> { diff --git a/app/src/main/java/io/xpipe/app/hub/comp/StoreLayoutComp.java b/app/src/main/java/io/xpipe/app/hub/comp/StoreLayoutComp.java index c8d10b2c9..86b8dbc6e 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/StoreLayoutComp.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/StoreLayoutComp.java @@ -11,7 +11,6 @@ import io.xpipe.app.core.window.AppMainWindow; import io.xpipe.app.platform.InputHelper; import io.xpipe.app.terminal.TerminalDockHubComp; import io.xpipe.app.terminal.TerminalDockHubManager; -import io.xpipe.app.terminal.TerminalDockMode; import io.xpipe.app.util.ObservableSubscriber; import javafx.scene.input.KeyCode; @@ -57,7 +56,7 @@ public class StoreLayoutComp extends SimpleRegionBuilder { var stack = new StackPane(comp.build()); stack.getStyleClass().add("store-layout"); - if (TerminalDockHubManager.isPossiblySupported()) { + if (TerminalDockHubManager.isAvailable()) { var model = TerminalDockHubManager.get(); var dock = new TerminalDockHubComp(model.getDockModel()); stack.getChildren().add(dock.build()); diff --git a/app/src/main/java/io/xpipe/app/terminal/TerminalDockHubManager.java b/app/src/main/java/io/xpipe/app/terminal/TerminalDockHubManager.java index b230a7520..6223ab908 100644 --- a/app/src/main/java/io/xpipe/app/terminal/TerminalDockHubManager.java +++ b/app/src/main/java/io/xpipe/app/terminal/TerminalDockHubManager.java @@ -25,7 +25,7 @@ import java.util.UUID; @Getter public class TerminalDockHubManager { - public static boolean isPossiblySupported() { + public static boolean isAvailable() { if (OsType.ofLocal() != OsType.WINDOWS) { return false; } @@ -59,7 +59,7 @@ public class TerminalDockHubManager { private static TerminalDockHubManager INSTANCE; public static void init() { - if (!isPossiblySupported()) { + if (!isAvailable()) { return; } diff --git a/app/src/main/java/io/xpipe/app/terminal/TerminalLauncher.java b/app/src/main/java/io/xpipe/app/terminal/TerminalLauncher.java index 68c9ced63..2af592030 100644 --- a/app/src/main/java/io/xpipe/app/terminal/TerminalLauncher.java +++ b/app/src/main/java/io/xpipe/app/terminal/TerminalLauncher.java @@ -169,7 +169,7 @@ public class TerminalLauncher { preferTabs && AppPrefs.get().preferTerminalTabs().get(); var launchConfig = new TerminalLaunchConfiguration(color, adjustedTitle, cleanTitle, preferTabs, paneList); - if (effectivePreferTabs && AppPrefs.get().enableTerminalDocking().get()) { + if (effectivePreferTabs && AppPrefs.get().enableTerminalDocking().get() && TerminalDockHubManager.isAvailable()) { // Dock terminal if needed for (TerminalPaneConfiguration pane : launchConfig.getPanes()) { TerminalDockHubManager.get().openTerminal(pane.getRequest()); diff --git a/build.gradle b/build.gradle index 22b33a819..71823868a 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ import java.util.stream.Stream plugins { id("io.github.gradle-nexus.publish-plugin") version "2.0.0" id 'org.gradlex.extra-java-module-info' version '1.13.1' apply false - id("com.diffplug.spotless") version "8.2.0" apply false + id("com.diffplug.spotless") version "8.2.1" apply false } allprojects { subproject -> diff --git a/dist/changelog/21.0.md b/dist/changelog/21.0.md index 88a0ba424..633ee252c 100644 --- a/dist/changelog/21.0.md +++ b/dist/changelog/21.0.md @@ -48,6 +48,7 @@ The scripting system has been completely reworked with the goal of becoming simp - Improve serial support across the board - Add support to automatically wait in terminal until serial port is connected - Creating a new category will now automatically focus the text field to rename it +- Add support for Yakuake terminal ## Fixes diff --git a/version b/version index 4d4a5f105..5f39e9144 100644 --- a/version +++ b/version @@ -1 +1 @@ -20.4-1 +21.0