From 1115ca84902ad75f44a75df449f134795e3f0f47 Mon Sep 17 00:00:00 2001 From: Igor Poboiko Date: Mon, 17 Sep 2018 22:27:21 +0300 Subject: [PATCH] [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 --- effects/cube/cubeslide.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/effects/cube/cubeslide.cpp b/effects/cube/cubeslide.cpp index b97591f041..01dd122250 100644 --- a/effects/cube/cubeslide.cpp +++ b/effects/cube/cubeslide.cpp @@ -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;