Commit 4156a0af authored by Alex Nemeth's avatar Alex Nemeth
Browse files

[effects/slideback] Enable blur behind windows

Summary: Use the blur effect even while the window is sliding back.

Test Plan: {F5828577}

Reviewers: #kwin, #vdg, graesslin, ngraham

Reviewed By: #kwin, #vdg, graesslin, ngraham

Subscribers: ngraham, graesslin, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D12625
parent 9644f29b
......@@ -149,6 +149,12 @@ void SlideBackEffect::prePaintScreen(ScreenPrePaintData &data, int time)
motionManager.calculate(time);
data.mask |= Effect::PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS;
}
for (auto const &w : effects->stackingOrder()) {
m_windowForceBlurRoleState[w] = w->data(WindowForceBlurRole).toBool();
w->setData(WindowForceBlurRole, QVariant(true));
}
effects->prePaintScreen(data, time);
}
......@@ -157,6 +163,11 @@ void SlideBackEffect::postPaintScreen()
if (motionManager.areWindowsMoving()) {
effects->addRepaintFull();
}
for (auto &w : effects->stackingOrder()) {
w->setData(WindowForceBlurRole, m_windowForceBlurRoleState.value(w, false));
}
effects->postPaintScreen();
}
......
......@@ -66,6 +66,8 @@ private:
int m_tabboxActive;
QList <QRegion> clippedRegions;
QMap <EffectWindow*, bool> m_windowForceBlurRoleState;
QRect getSlideDestination(const QRect &windowUnderGeometry, const QRect &windowOverGeometry);
bool isWindowUsable(EffectWindow *w);
bool intersects(EffectWindow *windowUnder, const QRect &windowOverGeometry);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment