Fix custom tiled windows getting moved around on hotunplug

Commit 1:

    workspace: fix custom tiled windows not getting migrated off unplugged screens
    
    Evacuating a window from a custom tile changes its moveResizeOutput, but
    Window::checkWorkspacePosition relies on the moveResizeOutput to be unchanged
    vs. before the output was removed.
    To fix that issue, this commit just saves the moveResizeOutput of each window
    before untiling them, so that separate value can be used instead of the
    moveResizeOutput of the window itself.

Commit 2:

    placementtracker: special-case custom tiled windows
    
    Unlike with quick tiling, windows in custom tiles get untiled when the output
    they were on gets removed, so this needs special casing or the placement tracker
    won't restore the window state after hotplugs.
    This also enables the autotest for this case, as it's now fixed.

BUG: 501306 BUG: 500242

Edited by Xaver Hugl

Merge request reports

Loading