From 8bc5ea0688ff5ceddc124b1a21eb7dfb689c978b Mon Sep 17 00:00:00 2001 From: crschnick Date: Fri, 17 May 2024 14:59:44 +0000 Subject: [PATCH] Final window center adjustments --- .../main/java/io/xpipe/app/core/AppWindowHelper.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/src/main/java/io/xpipe/app/core/AppWindowHelper.java b/app/src/main/java/io/xpipe/app/core/AppWindowHelper.java index 327743005..9b68429fb 100644 --- a/app/src/main/java/io/xpipe/app/core/AppWindowHelper.java +++ b/app/src/main/java/io/xpipe/app/core/AppWindowHelper.java @@ -49,6 +49,11 @@ public class AppWindowHelper { var n = newValue.doubleValue(); var o = oldValue.doubleValue(); if (stage.isShowing() && areNumbersValid(o, n)) { + // Ignore rounding events + if (Math.abs(n - o) < 0.5) { + return; + } + if (!xSet.getAndSet(true) && !stage.isMaximized() && n <= 0.0 && o > 0.0 && Math.abs(n - o) > 100) { stage.setX(o); } @@ -60,6 +65,11 @@ public class AppWindowHelper { var n = newValue.doubleValue(); var o = oldValue.doubleValue(); if (stage.isShowing() && areNumbersValid(o, n)) { + // Ignore rounding events + if (Math.abs(n - o) < 0.5) { + return; + } + if (!ySet.getAndSet(true) && !stage.isMaximized() && n <= 0.0 && o > 0.0 && Math.abs(n - o) > 20) { stage.setY(o); }