diff --git a/app/view/effects.cpp b/app/view/effects.cpp index 3db5bec7e..d9f7708d9 100644 --- a/app/view/effects.cpp +++ b/app/view/effects.cpp @@ -65,9 +65,9 @@ void Effects::init() connect(this, &Effects::backgroundRadiusEnabledChanged, this, &Effects::updateMask); connect(this, &Effects::subtractedMaskRegionsChanged, this, &Effects::updateMask); connect(this, &Effects::unitedMaskRegionsChanged, this, &Effects::updateMask); - connect(m_view, &Latte::View::typeChanged, this, &Effects::updateMask); connect(m_view, &QQuickWindow::widthChanged, this, &Effects::updateMask); connect(m_view, &QQuickWindow::heightChanged, this, &Effects::updateMask); + connect(m_view, &Latte::View::behaveAsPlasmaPanelChanged, this, &Effects::updateMask); connect(KWindowSystem::self(), &KWindowSystem::compositingChanged, this, &Effects::updateMask); connect(this, &Effects::rectChanged, this, [&]() { @@ -444,23 +444,15 @@ void Effects::updateMask() { if (KWindowSystem::compositingActive()) { if (KWindowSystem::isPlatformX11()) { - m_view->setMask(QRect(0, 0, m_view->width(), m_view->height())); - } else { - // do nothing - } - - /* else { - //! this needs investigation under Wayland how to work correctly if (m_view->behaveAsPlasmaPanel()) { - if (!m_view->visibility()->isHidden()) { - m_view->setMask(QRect()); - } else { - m_view->setMask(VisibilityManager::ISHIDDENMASK); - } + // set as NULL in order for plasma framrworks to identify NULL Mask properly + m_view->setMask(QRect(-1, -1, 0, 0)); } else { - m_view->setMask(maskCombinedRegion()); + m_view->setMask(QRect(0, 0, m_view->width(), m_view->height())); } - }*/ + } else { + // under wayland do nothing + } } else { QRegion fixedMask;