diff --git a/app/src/main/java/io/xpipe/app/core/AppMainWindow.java b/app/src/main/java/io/xpipe/app/core/AppMainWindow.java index ce5813f8..54e565b0 100644 --- a/app/src/main/java/io/xpipe/app/core/AppMainWindow.java +++ b/app/src/main/java/io/xpipe/app/core/AppMainWindow.java @@ -59,7 +59,7 @@ public class AppMainWindow { private synchronized void onChange() { lastUpdate = Instant.now(); if (thread == null) { - thread = ThreadHelper.createPlatformThread("window change timeout", true, () -> { + thread = ThreadHelper.unstarted(() -> { while (true) { var toStop = lastUpdate.plus(Duration.of(1, ChronoUnit.SECONDS)); if (Instant.now().isBefore(toStop)) { @@ -237,6 +237,10 @@ public class AppMainWindow { } public void show() { + // Due to some weird GTK bug, we have to set these sizes every time we show a window even though they have been previously set + stage.setWidth(stage.getWidth()); + stage.setHeight(stage.getHeight()); + stage.show(); } diff --git a/app/src/main/java/io/xpipe/app/core/AppTrayIcon.java b/app/src/main/java/io/xpipe/app/core/AppTrayIcon.java index 01ee0df9..0acd5002 100644 --- a/app/src/main/java/io/xpipe/app/core/AppTrayIcon.java +++ b/app/src/main/java/io/xpipe/app/core/AppTrayIcon.java @@ -14,7 +14,7 @@ import java.net.URL; public class AppTrayIcon { private boolean shown = false; - + /** * The default AWT SystemTray */ @@ -37,8 +37,8 @@ public class AppTrayIcon { var image = switch (OsType.getLocal()) { case OsType.Windows windows -> "img/logo/logo_16x16.png"; - case OsType.Linux linux -> "img/logo/logo_22x22.png"; - case OsType.MacOs macOs -> "img/logo/logo_22x22.png"; + case OsType.Linux linux -> "img/logo/logo_24x24.png"; + case OsType.MacOs macOs -> "img/logo/logo_24x24.png"; }; var url = AppResources.getResourceURL(AppResources.XPIPE_MODULE, image).orElseThrow(); @@ -49,6 +49,7 @@ public class AppTrayIcon { { var open = new MenuItem(AppI18n.get("open")); open.addActionListener(e -> { + tray.remove(trayIcon); OperationMode.switchToAsync(OperationMode.GUI); }); popupMenu.add(open); @@ -65,6 +66,7 @@ public class AppTrayIcon { trayIcon.addActionListener(e -> { if (OsType.getLocal() != OsType.MACOS) { + tray.remove(trayIcon); OperationMode.switchToAsync(OperationMode.GUI); } }); diff --git a/app/src/main/resources/io/xpipe/app/resources/img/logo/logo_24x24_t.png b/app/src/main/resources/io/xpipe/app/resources/img/logo/logo_24x24_t.png deleted file mode 100644 index bf489661..00000000 Binary files a/app/src/main/resources/io/xpipe/app/resources/img/logo/logo_24x24_t.png and /dev/null differ