Skip to content
  • Martin Flöser's avatar
    Cache the clientSize in DecoratedClientImpl · eed4bf32
    Martin Flöser authored
    Summary:
    So far whenever the window geometry changed the widthChanged and
    heightChanged signals were emitted even if they did not change.
    E.g. while moving a window this resulted in the signal being emitted
    after every step, although from decoration point of view nothing
    changed.
    
    The decoration performed costly tasks like re-layout the window buttons.
    
    With this change the client size is cached and the widthChanged signal
    is only emitted if the width actually changed. Same for heightChanged.
    
    This results in the decoration only re-layouting the buttons if the
    window is resized horizontally. All other geometry changes no longer
    result in a re-layout.
    
    Reviewers: #kwin, #plasma
    
    Subscribers: kwin
    
    Tags: #kwin
    
    Differential Revision: https://phabricator.kde.org/D2389
    eed4bf32