Skip to content
  • David Edmundson's avatar
    [wayland] XdgPopup Positioning · 8ef363cc
    David Edmundson authored
    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
    8ef363cc