[effects/cubeslide] Fix "sticky" windows detection on Wayland

Summary: This is second part of {D15175}, and aimed at fixing Bug 390366.
The problem was that effect relied on isManaged() to detect OSDs and notifications, that should be painted on top of the cube. On Wayland, the desktop window itself is not managed, which made it "sticky".

Instead we use isSpecialWindow() check to explicitly make notifications and OSDs sticky.
It still requires fixing Plasma::Dialog, since it does not set isSpecialWindow() flag correctly.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

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

BUG: 390366
FIXED-IN: 5.15.0
icc-effect-5.17.5
Igor Poboiko 2018-09-17 22:27:21 +03:00
parent b02d7ff96f
commit 1115ca8490
1 changed files with 1 additions and 1 deletions

View File

@ -541,7 +541,7 @@ bool CubeSlideEffect::shouldAnimate(const EffectWindow* w) const
if (w->isDesktop()) {
return true;
}
if (!w->isManaged()) {
if (w->isSpecialWindow()) {
return false;
}
return !dontSlideStickyWindows;