[wayland] Handle sizes in ShellClient::transientPlacement

Authored by davidedmundson on Feb 12 2019, 12:21 PM.



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

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

Diff Detail

R108 KWin
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.
Restricted Application added a project: KWin. · View Herald TranscriptFeb 12 2019, 12:21 PM
Restricted Application added a subscriber: kwin. · View Herald Transcript
davidedmundson requested review of this revision.Feb 12 2019, 12:21 PM
davidedmundson retitled this revision from Handle sizes in ShellClient::transientPlacement to [wayland] Handle sizes in ShellClient::transientPlacement.Feb 12 2019, 12:23 PM
zzag added a subscriber: zzag.Feb 12 2019, 1:40 PM
zzag added inline comments.

popupGeometry would be a better name. Also, we probably don't need this variable at all.

davidedmundson marked an inline comment as done.Feb 13 2019, 12:28 PM
zzag added a comment.Feb 13 2019, 1:26 PM

Is it WIP? (I'm asking because Reviewers field is not set)

remove an irrelevant change

Ready for a review I think.

zzag accepted this revision.Feb 13 2019, 1:48 PM
This revision is now accepted and ready to land.Feb 13 2019, 1:48 PM
This revision was automatically updated to reflect the committed changes.