diff --git a/app/src/main/java/io/xpipe/app/core/window/AppMainWindow.java b/app/src/main/java/io/xpipe/app/core/window/AppMainWindow.java index aef2e1e8c..0e3537356 100644 --- a/app/src/main/java/io/xpipe/app/core/window/AppMainWindow.java +++ b/app/src/main/java/io/xpipe/app/core/window/AppMainWindow.java @@ -193,6 +193,16 @@ public class AppMainWindow { shown = true; } + public void hide() { + PlatformThread.runLaterIfNeeded(() -> { + if (!stage.isShowing()) { + return; + } + + stage.hide(); + }); + } + public void focus() { if (AppPrefs.get() != null && !AppPrefs.get().focusWindowOnNotifications().get()) { diff --git a/app/src/main/java/io/xpipe/app/platform/PlatformThread.java b/app/src/main/java/io/xpipe/app/platform/PlatformThread.java index 26646a0d9..f79ce42e8 100644 --- a/app/src/main/java/io/xpipe/app/platform/PlatformThread.java +++ b/app/src/main/java/io/xpipe/app/platform/PlatformThread.java @@ -266,7 +266,8 @@ public class PlatformThread { return false; } - if (AppOperationMode.isInShutdown()) { + // Some other components might already be disposed + if (AppOperationMode.isInShutdownHook()) { return false; }