kossebau created this revision. kossebau added a reviewer: Plasma. Herald added a project: Plasma. Herald added a subscriber: plasma-devel. kossebau requested review of this revision.
REVISION SUMMARY Plasma themes might define non-full-rect shapes for panels (e.g. round borders for panels not filling the whole width/height). The old code tells the window manager to blur the full rect of a panel window, resulting in unwanted artifacts around the panel shape for non-full-rect themed panels. With the Panel.qml item of the desktop packages exposing some optional "panelMask" property now, we can query for the shape and only use the painted area when telling the window manager where to blur behind or changing the background contrast. This also follows the logic as already applied for dialogs or other window elements like tooltips which are rendered using a Plasma theme. TEST PLAN The Oxygen Plasma theme no longer has blurry corners on panel edges. Also still works as before when using non-composing window manager. REPOSITORY R120 Plasma Workspace BRANCH getpanelmaskfrompanel REVISION DETAIL https://phabricator.kde.org/D20204 AFFECTED FILES shell/panelview.cpp To: kossebau, #plasma Cc: plasma-devel, jraleigh, GB_2, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart