Skip to content
  • Igor Poboiko's avatar
    [effects/cubeslide] Fix visual glitches with Blur / BackgroundContrast effect · ca1b5ea1
    Igor Poboiko authored
    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
    ca1b5ea1