kwin/effects/presentwindows
Vlad Zagorodniy e9ab34854d [effects] Ignore previous state of WindowForceBlurRole
Summary:
Currently, effects like Maximize, Slide Back have problems with setting
WindowForceBlurRole. They store previous state of WindowForceBlurRole.
This is wrong. Instead they should either ignore previous state of
WindowForceBlur or refcount forced role.

There's no need for refcounting right now. For example, if several effects
force blur or background contrast, they are most likely in a conflict.
Please notice that the Desktop Grid effect uses the Present Windows
effect only to calculate transformations.

Some other problems with the code that sets WindowForceBlurRole:
* Maximize effect stores previous state of WindowForceBlurRole only
  for one window. It ignores the fact that there could be several
  active maximize animations;
* Desktop Grid/Present Windows/Slide back don't clean after themselves.
  So, after using those effects for good amount of times, memory usage
  will bump.

Test Plan:
* Enabled blur for Konsole
* Maximized Konsole
* Activated Present Windows
* Activated Desktop Grid
* Raised another window(to trigger Slide Back)

Reviewers: #kwin, fredrik

Reviewed By: fredrik

Subscribers: fredrik, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13479
2018-06-19 15:23:41 +03:00
..
CMakeLists.txt
main.qml
presentwindows.cpp [effects] Ignore previous state of WindowForceBlurRole 2018-06-19 15:23:41 +03:00
presentwindows.h [effects] Ignore previous state of WindowForceBlurRole 2018-06-19 15:23:41 +03:00
presentwindows.kcfg [effects] Use arg="true" in the kcfg files 2017-04-15 10:03:34 +02:00
presentwindows_config.cpp [effects] Use arg="true" in the kcfg files 2017-04-15 10:03:34 +02:00
presentwindows_config.desktop
presentwindows_config.h
presentwindows_config.ui
presentwindows_proxy.cpp
presentwindows_proxy.h
presentwindowsconfig.kcfgc