You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Martin Gräßlin eed4bf32ae Cache the clientSize in DecoratedClientImpl
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
8 years ago
..
decoratedclient.cpp Cache the clientSize in DecoratedClientImpl 8 years ago
decoratedclient.h Cache the clientSize in DecoratedClientImpl 8 years ago
decorationbridge.cpp
decorationbridge.h
decorationpalette.cpp
decorationpalette.h
decorationrenderer.cpp
decorationrenderer.h
decorations_logging.cpp
decorations_logging.h
settings.cpp
settings.h