diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-24 12:11:11 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-24 12:11:11 +0200 |
| commit | 4a9956c746c3fc724db6efeccd56fbbf2c30049e (patch) | |
| tree | 17b285d7ce02b85dfa642c26d43e1d5b620c2de3 /desktop/companion/Companion.qml | |
| parent | b75031c1320615ef636dbfeb42e2e73b2926382a (diff) | |
| download | quickshell-4a9956c746c3fc724db6efeccd56fbbf2c30049e.tar.gz quickshell-4a9956c746c3fc724db6efeccd56fbbf2c30049e.zip | |
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 <noreply@anthropic.com>
Diffstat (limited to 'desktop/companion/Companion.qml')
| -rw-r--r-- | desktop/companion/Companion.qml | 4 |
1 files changed, 3 insertions, 1 deletions
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; |
