window: a few geometry refactors
This is mostly about sendToOutput
:
- it now doesn't modify maximize or quick tile state anymore, simplifying it
- it now properly translates geometry restores
- the
updateGeometryRestoresForFullscreen
sort-of-hack is gone - it now doesn't use
checkWorkspacePosition
anymore, which doesn't always handle special states properly (yet), isn't needed for this and thus also fixes the recursion issue in !2573 (merged)
More generally I'd like to move towards having more function-like methods where the geometry handling is concerned. Having lots of methods that call moveResize
, change maximize or have other side effects makes it pretty difficult to understand the code and even more difficult to change it. Ideally, most of them should have one QRectF geometry
as a parameter, and return a QRectF
without changing any state - that way they can be used for handling geometry restores, too.