slide effect improvements - round 2
Didn't realize I needed approval when I merged !1980 (merged) That got reverted so I could go through the review process here.
Implement Mac OS like Desktop switching:
- Add desktopChanging() interface to VirtualDesktopManager
- Configure SlideEffect to use it for animations
- Change swipe behavior from "next desktop" to "desktop in direction of swipe"
- Reserve all 3 finger swipes for desktop switching in 4 directions
Slide Effect Polish:
- On multi monitor, both desktops are not dragged across the screen on switch
- Wrapping doesn't slide across entire grid, instead dark magic is used
BUG: 448419 BUG: 401479 BUG: 185710
Testing:
- I've changed a lot of code in the slide effect.
- Check that the slide effect doesn't clash with other effects.
- Multi monitor setups shouldn't drag both desktops across screen
- Wrapping should feel magical
- I know that if you spam switch desktop right quickly enough, animation will switch direction. It falls behind where it's supposed to be and is taking the fastest path to the correct desktop. This is an uncommon case that doesn't ultimately matter very much and fixing it would require a lot of hard math I don't want to do.
Edited by Eric Edlund