From 5e1fc3910a64fae0244b376894d0f5d6c399cca7 Mon Sep 17 00:00:00 2001 From: crschnick Date: Sat, 21 Oct 2023 10:13:08 +0000 Subject: [PATCH] Tray GTK fixes --- .../java/io/xpipe/app/core/AppMainWindow.java | 6 +++++- .../java/io/xpipe/app/core/AppTrayIcon.java | 8 +++++--- .../app/resources/img/logo/logo_24x24_t.png | Bin 12951 -> 0 bytes 3 files changed, 10 insertions(+), 4 deletions(-) delete mode 100644 app/src/main/resources/io/xpipe/app/resources/img/logo/logo_24x24_t.png 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 bf4896617c7f24bdd2948f64145b5d7f5817086c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12951 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