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 Add an explicit dependency to Breeze to find decoration plugin 9 years ago
decorationbridge.h DecorationBridge creates Decoration for AbstractClient 9 years ago
decorationpalette.cpp
decorationpalette.h
decorationrenderer.cpp
decorationrenderer.h
decorations_logging.cpp pedantic fixes 8 years ago
decorations_logging.h
settings.cpp Use kwinApp()->config() instead of KSharedConfig::openConfig() 9 years ago
settings.h