Handle XdgShell window geometry in configure request sizes
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
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.
Reviewers: KWin, zzag
Reviewed By: KWin, zzag
Subscribers: zzag, kwin
Differential Revision: https://phabricator.kde.org/D20937