Diffusion KWin 7014a3399214

[wayland] Handle sizes in ShellClient::transientPlacement

Authored by davidedmundson on Feb 22 2019, 2:08 PM.

Description

[wayland] Handle sizes in ShellClient::transientPlacement

Summary:
placeIn did not handle the case for a popup not having had the size
already set and only being available via
m_xdgShellPopup->initialSize(). This is needed if we want to call placeIn
at the correct time, before the window is mapped.

There was also a logic bug when sliding popups. We called the
confusingly named setX thinking it would be move the popup keeping the
width the same. In practice it moves the left edge keeping the right
position the same. This wasn't an issue as the size was
discarded.

Handling the resize constraint is not yet done, but it should now be
even more trivial.

Reviewers: KWin, zzag

Reviewed By: KWin, zzag

Subscribers: zzag, kwin

Tags: KWin

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

Details