Skip to content
  • Jonas Ådahl's avatar
    window: Implement asynchronous popup moving · d08a8de2
    Jonas Ådahl authored and Carlos Garnacho's avatar Carlos Garnacho committed
    This commits adds support on the MetaWindow and constraints engine side
    for asynchronously repositioning a window with a placement rule, either
    due to environmental changes (e.g. parent moved) or explicitly done so
    via `meta_window_update_placement_rule()`.
    
    This is so far unused, as placement rules where this functionality is
    triggered are not yet constructed by the xdg-shell implementation, and
    no users of `meta_window_update_placement_rule()` exists yet.
    
    To summarize, it works by making it possible to produce placement rules
    with the parent rectangle a window should be placed against, while
    creating a pending configuration that is not applied until acknowledged
    by the client using the xdg-shell configure/ack_configure mechanisms.
    
    An "temporary" constrain result is added to deal with situations
    where the client window *must* move immediately even though it has not yet
    acknowledged a new configuration that was sent. This happens for example
    when the parent wi...
    d08a8de2