Diffusion KWin 8ef363cc210b

[wayland] XdgPopup Positioning

Authored by davidedmundson on Oct 19 2018, 10:21 PM.

Description

[wayland] XdgPopup Positioning

Summary:
Support XDGShell Positioning. This gives a client a lot more control
over where the popup will be placed as well as control over how to
handle constraints. i.e what to do if the popup doesn't fit.

trasientOffset was replaced with a method on the client as semantically
it's the role of the client to handle constraints.

Both slide and flip constraint adjustments are implemented. Resize
constraint adjustment will be handled in a future patch.

WlShell is handled by treating it as 1x1 sized anchor with slide
constraint adjustment.

Test Plan:
Manual test of a client implementing xdgpopup exists in kwayland
Extensive unit test here

Existing WlShell test passes (after D16314 which fixes the original)
XdgPopup has a new unit test suite against manually calculated values

Reviewers: KWin, graesslin

Reviewed By: KWin, graesslin

Subscribers: zzag, kwin

Tags: KWin

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

Details

Committed
davidedmundsonOct 20 2018, 4:17 PM
Reviewer
KWin
Differential Revision
D16325: [wayland] XdgPopup Positioning
Parents
R108:d70c3568e6a2: [wayland] Fix Placement::placeTransient keeping screens in bound.
Branches
Unknown
Tags
Unknown