Skip to content
  • Jasper St. Pierre's avatar
    window: Replace the user_rect with the unconstrained_rect · 2c0ad5be
    Jasper St. Pierre authored
    Realistically, the user rect contains the unconstrained window
    rectangle coordinates that we want to be displaying, in case
    something in the constraints change.
    
    Rename it to the "unconstrained_rect", and change the code to always
    save it, regardless of current state.
    
    When metacity was originally being built, the purpose of the user
    rect was a lot less clear. The code only saved it on user actions,
    with various other calls to save_user_window_placement() and a force
    mechanism sprinkled in to avoid windows being snapped back to odd
    places when constraints changed.
    
    This could lead to odd bugs. For instance, if the user uses some
    extension which automatically tiles windows and didn't pass
    user_action=TRUE, and then the struts changed, the window would be
    placed back at the last place a user moved it to, rather than where
    the window was tiled to.
    
    The META_IS_USER_ACTION flag is still used in the constraints code
    to determine whether we should allow shoving windows offscreen, so
    we can't remove it completely, but we should think about splitting
    out the constrainment policies it commands for a bit more
    fine-grained control.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=726714
    2c0ad5be