kwin/decorations
Vlad Zahorodnii 15af09c70a Introduce Toplevel::frameGeometryChanged signal
Summary:
Currently we have two signals that are emitted when the Toplevel's geometry
changes - geometryShapeChanged() and geometryChanged(). The former signal
is used primarily to invalidate cached window quads and the latter is
sort of emitted when the frame geometry changes. But it's not that easy. We
have a bunch of connects that link those signals together...

The worst part about all of this is that the window quads cache gets
invalidated every time a geometry update occurs, for example when user
moves a window around on the screen.

This change introduces a new signal and deprecates the existing geometryChanged
signal. frameGeometryChanged is similar to geometryChanged except that it is
emitted when an _actual_ geometry change has occurred.

We do still emit geometryShapeChanged signal. However, in long term, we
need to get rid of this signal or come up with something that makes sense
and doesn't require us to waste computational resources.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, romangg, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D26863
2020-02-12 10:52:26 +02:00
..
decoratedclient.cpp Introduce Toplevel::frameGeometryChanged signal 2020-02-12 10:52:26 +02:00
decoratedclient.h [decoration] Implement the size property 2020-01-28 18:42:17 +02:00
decorationbridge.cpp
decorationbridge.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
decorationpalette.cpp
decorationpalette.h
decorationrenderer.cpp Schedule a decoration repaint when client is resized 2020-01-28 18:42:17 +02:00
decorationrenderer.h [scene] Fix decoration texture bleeding 2020-01-09 15:13:07 +02:00
decorations_logging.cpp
decorations_logging.h
settings.cpp
settings.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00