fix/improve window shading

Review Request #123882 - Created May 23, 2015 and submitted

Thomas Lübking
348064, 348640

commit 280a953b5e4757a4b8df500710562e2cf912102b

update geom_restore when silently breaking QT mode

the next checkWorkspacePosition (now triggered by
deco border update) would falsely restore the
pre-tiling geometry

commit 85f1ecbbd955dead3eee8ecf7a8284da0cfdc18f

update geom_restore on unshading
client gets (pot) new geometry, but geom_restore will be used by checkWorkspacePosition

commit cd33dc64ec8e1b7be4c616903dcff08f1c005d50

improve geometry handlign on bordersChanged

a) calculateGravitation on the same borders forth and back is idempotent
b) do not checkWorkspacePosition for shaded windows
may falsely constrain the unshaded geometry into screen bounds

commit a3a2609ba4b55f89274acf607b6059a9579f0841

checkWorkspacePosition: Don't adjust to shaded sz

since the client is currently empty, we'll resort to client hints, ie. effectively resize windows when shading them (setGeometry and plainResize have extra checks on whether this geometry is only the decoration height to not smear client_size)

commit ef61b378887c275d809cce3134a57cdf7b37913e

don't nuke both dims if undecorated frame isEmpty

isEmpty hits if one dimension is <= 0 - the other one can be absolutely valid, so preserve it.

see bug.

turned out that in addition, Qt5/KF5 modal dialogs spam a configure request on unshading (ignore the mapping condition or whatever)

Thomas Lübking
Thomas Lübking
Thomas Lübking
Martin Flöser
Thomas Lübking
Review request changed

Status: Closed (submitted)

Change Summary:

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