[effects/desktopgrid] Enable blur behind windows

Summary: Use the blur effect even when the desktop grid is used.

Test Plan: {F5828458}

Reviewers: davidedmundson, fredrik, #vdg, #kwin, graesslin, ngraham

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

Subscribers: graesslin, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D12620
This commit is contained in:
Alex Nemeth 2018-05-01 16:13:14 +02:00
parent 424b9ac388
commit c3e84e1073
2 changed files with 14 additions and 0 deletions

View file

@ -162,6 +162,12 @@ void DesktopGridEffect::prePaintScreen(ScreenPrePaintData& data, int time)
if (!activated && timeline.currentValue() == 0 && !(isUsingPresentWindows() && isMotionManagerMovingWindows()))
finish();
}
for (auto const &w : effects->stackingOrder()) {
m_windowForceBlurRoleState[w] = w->data(WindowForceBlurRole).toBool();
w->setData(WindowForceBlurRole, QVariant(true));
}
effects->prePaintScreen(data, time);
}
@ -249,6 +255,11 @@ void DesktopGridEffect::postPaintScreen()
}
}
}
for (auto &w : effects->stackingOrder()) {
w->setData(WindowForceBlurRole, m_windowForceBlurRoleState.value(w, false));
}
effects->postPaintScreen();
}

View file

@ -175,6 +175,9 @@ private:
// Shortcut - needed to toggle the effect
QList<QKeySequence> shortcut;
// State of WindowForceBlurRole before this effect
QMap <EffectWindow*, bool> m_windowForceBlurRoleState;
PresentWindowsEffectProxy* m_proxy;
QList<WindowMotionManager> m_managers;
bool m_usePresentWindows;