Diffusion KWin 15af09c70a89

Introduce Toplevel::frameGeometryChanged signal

Authored by zzag on Feb 5 2020, 9:28 AM.

Description

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

Details

Committed
zzagFeb 12 2020, 8:52 AM
Reviewer
KWin
Differential Revision
D26863: Introduce Toplevel::frameGeometryChanged signal
Parents
R108:dd96e444ddfe: Merge branch 'Plasma/5.18'
Branches
Unknown
Tags
Unknown