The slide effect translates all windows as we switch desktop. In a multi screen setup we don't want windows to enter a different screen during this animation.
The current code masks everything to the current output. This is broken for any window that spans across screens even slightly. It will not be visible during the transform then appear on top at the end.
The new algorithm is, for each screen in each window
- take the window rect that we would show on said screen
- apply the current transform
- then crop this to the screen again