Diffusion KWin ca1b5ea1070c

[effects/cubeslide] Fix visual glitches with Blur / BackgroundContrast effect

Authored by poboiko on Sep 14 2018, 9:36 AM.

Description

[effects/cubeslide] Fix visual glitches with Blur / BackgroundContrast effect

Summary:
Bugs occurred because KWin was not very happy when windows were painted during CubeSlideEffect::paintScreen().
Another issue is that blur, although it was supposed to, did not work at all (haven't found appropriate bug on bugzilla).
As well as background contrast effect.

This patch does the following thing:

  • Adopted WindowForceBlur / WindowForceBackgroundContrast logic from SlideEffect, instead of panels/stickyWindows QSets (those become useless anyway)
  • Added shouldAnimate code, which determines whether a window should be animated with the cube (i.e. ordinary windows) or should stick (i.e. panels or pinned windows, if corresponding options are checked in the settings)
  • It paints an additional non-transformed screen, on which it paints only "sticky" windows. This is done because otherwise KWin would apply blur not behind the OSD, but on the same place on moving cube face.
  • (in addition) switched to new Qt5 connect syntax.

Reviewers: KWin, zzag

Differential Revision: https://phabricator.kde.org/D15175

BUG: 361516
BUG: 362360
FIXED-IN: 5.15.0