fix sendToScreen/checkWorkspaceGeometry

Review Request #116029 - Created Feb. 24, 2014 and submitted

Thomas Lübking
4.11? master?
Prime target is to preserve the in-screen condition of client AND window.[1]
Atm. when the client is fully in sight (but the window is not) - regardless of snapping or screen change - a workspace update (screen change, resolution change, adding/removing a strutting panel) would allow the client to partiall escape screen bounds.

This is changed so that if the client is fully in sight, it's kept fully in sight (but not the decoration)
If the entire window was fully in sight, it's also kept (as is right now)
The code handles inner screen edges (if the client was in sight, the entire window will be if we'd bleed to the other screen)

[1] I'd say that handling the client is more relevant, but foresee more complaints if the window wasn't handled anymore ;-)

During that, i stumbled across some other issues.
- when a window centered on one screen is moved to a screen smaller than the window, the window is shrinked to the dimensions of that screen and now randomly touches eg. left AND right edge. When moved back, the right and bottom edge were preferred (to the window was "moved" into the lower right corner). It's now kept centered.
- geom_restore was saved before keeping the window in the new screen area (causing accidental drops on screen changes)


  • 1
  • 1
  • 1
  • 3
Description From Last Updated
const QRect& ? Martin Flöser Martin Flöser
Thomas Lübking
Martin Flöser
Thomas Lübking
Thomas Lübking
Review request changed

Status: Closed (submitted)

Change Summary:

Submitted with commit 39c35f8f48fcb47e823af1b7147f91d2d445b306 by Thomas Lübking to branch master.