-
-
Notifications
You must be signed in to change notification settings - Fork 171
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix: cross monitor animation #920
Conversation
This commit fixes cross-monitor drag move by extending cancelling system. Now each cancel call have its own idx. And only latest cancel will continue animation. Others will be dropped.
Global variable removed due to previous fix commit
There is some strange error when you move the window with the mouse. recordedVideo.mp4 |
Fixed in last commit |
This commit is a squashed combination of the following commits from #920 by @thearturca. Thanks to both @thearturca for @amnweb for their work in fixing and thoroughly testing these changes respectively. 9350792 fix(animation): added pending cancel count to track `is_cancelled` state 84ad947 refactor(animation): remove cancel idx decreasing 804b038 refactor(animation): remove `ANIMATION_TEMPORARILY_DISABLED` global vars f257873 fix(animation): extend cancelling system to support multiple cancel call dfd6e98 refactor(window): reuse window rect in `animate_position` method
Merged with an interactive rebase here: 9260b68 Thank you @thearturca! |
I've just tested the cross-monitor animations from the latest in master branch (9260b68) and it seems to hide the window borders (Komorebi implementation) and also the stackbars. This happens only when moving windows across monitors, and not when just moving windows on one monitor. output.mp4 |
3284617
to
9350792
Compare
…cel_count` field Before it was checking `cancel_idx_counter` which is `id` counter. It never gonna equals `0` and doesn't represent all animations that running for that window. So it doesn't delete entry from hashmap. That leads to bug when border and stackbar doesn't get notified after animation ends.
Found a bug. Now this is fixed for this PR |
This commit is a squashed combination of the following commits from #920 by @thearturca. Thanks to both @thearturca for @amnweb for their work in fixing and thoroughly testing these changes respectively. 9350792 fix(animation): added pending cancel count to track `is_cancelled` state 84ad947 refactor(animation): remove cancel idx decreasing 804b038 refactor(animation): remove `ANIMATION_TEMPORARILY_DISABLED` global vars f257873 fix(animation): extend cancelling system to support multiple cancel call dfd6e98 refactor(window): reuse window rect in `animate_position` method 18522db fix(animations): change check for existings animation to `pending_cancel_count` field Before it was checking `cancel_idx_counter` which is `id` counter. It never gonna equals `0` and doesn't represent all animations that running for that window. So it doesn't delete entry from hashmap. That leads to bug when border and stackbar doesn't get notified after animation ends.
Thanks! Squashed this into 3c03528 |
No description provided.