Diffusion KWin bc83065cebd7

Handle XdgShell window geometry in configure request sizes

Authored by davidedmundson on May 10 2019, 3:34 PM.

Description

Handle XdgShell window geometry in configure request sizes

Summary:
The size passed to an XDG shell configure request should match the
window size of the given window, we don't want to include the size of
any shadows that may be drawn by the client.

Kwin has the same concept of geometry for both window management, input
and rendering.

In order to approach this in a way that does not risk any regressions
with kwin's current structure AbstractClient::geometry remains the
canonical source and we handle the window within that internally within
ShellClient treating the windowGeometry as a set of margins from this.

This is part of a much bigger task (T10867). This patch addresses
windows growing when starting a drag based resize.

BUG: 403376

Test Plan:
Unit test
gtk3-demo

Reviewers: KWin, zzag

Reviewed By: KWin, zzag

Subscribers: zzag, kwin

Tags: KWin

Differential Revision: https://phabricator.kde.org/D20937