Fix always full rect blur mask for panels ignoring shape from Plasma themes
ClosedPublic

Authored by kossebau on Apr 2 2019, 1:29 PM.

Details

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.

Diff Detail

Repository
R120 Plasma Workspace
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
kossebau created this revision.Apr 2 2019, 1:29 PM
Restricted Application added a project: Plasma. · View Herald TranscriptApr 2 2019, 1:29 PM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
kossebau requested review of this revision.Apr 2 2019, 1:29 PM
mart accepted this revision.Apr 8 2019, 10:17 AM
This revision is now accepted and ready to land.Apr 8 2019, 10:17 AM
This revision was automatically updated to reflect the committed changes.