From a91f6a8a8ee23d645d19117d82389c364aca2617 Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Tue, 12 May 2020 03:10:17 +0300 Subject: [PATCH] make Effects updateEffect(),GtkFrameExtents aware --- app/view/effects.cpp | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/app/view/effects.cpp b/app/view/effects.cpp index b2fa7d548..8b32e184a 100644 --- a/app/view/effects.cpp +++ b/app/view/effects.cpp @@ -20,6 +20,7 @@ #include "effects.h" // local +#include #include #include "panelshadows_p.h" #include "view.h" @@ -431,11 +432,26 @@ void Effects::updateEffects() //! is such a case QRegion fixedMask; + int fX = m_rect.x(); int fY = m_rect.y(); + +#if KF5_VERSION_MINOR >= 65 + //! Latte is now using GtkFrameExtents so Effects geometries must be adjusted + //! windows that use GtkFrameExtents and apply Effects on them they take GtkFrameExtents + //! as granted + if (KWindowSystem::isPlatformX11()) { + if (m_view->location() == Plasma::Types::BottomEdge) { + fY = qMax(0, fY - m_view->headThicknessGap()); + } else if (m_view->location() == Plasma::Types::RightEdge) { + fX = qMax(0, fX - m_view->headThicknessGap()); + } + } +#endif + if (!backMask.isNull()) { fixedMask = backMask; - fixedMask.translate(m_rect.x(), m_rect.y()); + fixedMask.translate(fX, fY); } else { - fixedMask = m_rect; + fixedMask = QRect(fX, fY, m_rect.width(), m_rect.height()); } if (!fixedMask.isEmpty()) {