From 4a9956c746c3fc724db6efeccd56fbbf2c30049e Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Sat, 24 Oct 2026 12:11:11 +0200 Subject: companion: no move while a hop is in flight hopping counts as away, so a goal change during the exit (the chat card closing mid-drop) moved the window before the drop had played. settled already takes the latest goal. Co-Authored-By: Claude Opus 5.5 --- desktop/companion/Companion.qml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'desktop/companion/Companion.qml') diff --git a/desktop/companion/Companion.qml b/desktop/companion/Companion.qml index 21b1a38..8c049f2 100644 --- a/desktop/companion/Companion.qml +++ b/desktop/companion/Companion.qml @@ -76,8 +76,10 @@ PanelWindow { // No focused monitor (outputs gone over a suspend) is not a destination. // Already out of view, there is no exit to wait for: settled would never // fire, hopping would stick and hide her for good, so move at once. + // Mid-hop, settled takes the latest goal; moving now would jump the + // window before the exit has played (hopping counts as away). function move() { - if (root.goal === "" || (root.goal === root.here && root.seated === root.sitting)) return; + if (root.hopping || root.goal === "" || (root.goal === root.here && root.seated === root.sitting)) return; if (root.here === "" || root.away) { root.here = root.goal; root.sitting = root.seated; -- cgit v1.2.3