Shadows API in KWindowSystem
Open, Needs TriagePublic

Description

Given that internal clients in KWin are not backed by x11 windows or wayland surfaces, we need some API in KWindowSystem to set shadows so KWin can intercept relevant API method calls and react accordingly.

zzag moved this task from Backlog to Work In Progress on the KWin board.Jan 6 2020, 10:49 AM

There's one massive problem we're going to face.

kwayland-integration is released with plasma
we have people using new frameworks with old plasma

porting breeze is fine, as that's in sync with kwayland integration, but I don't know of any nice way to do plasma dialogs in a way that won't introduce a regression

zzag added a comment.Jan 7 2020, 1:07 PM

I don't know of any nice way to do plasma dialogs in a way that won't introduce a regression

I don't think there is a nice way to work around it. I'm afraid those people will have to stick with shadow-less plasma dialogs on wayland for quite some time. :(

zzag moved this task from Work In Progress to Under Review on the KWin board.Jan 7 2020, 7:48 PM
zzag moved this task from Under Review to Work In Progress on the KWin board.Jan 8 2020, 4:03 PM
zzag added a comment.Jan 9 2020, 1:06 PM

While I was porting Oxygen to KWindowShadow yesterday, I encountered a problem or rather noticed it in the existing port of Breeze to KWindowShadow.

Currently, neither Oxygen nor Breeze try to destroy shadows when a widget becomes hidden or the platform window is destroyed. This will be not okay with KWindowShadow though. If you do new, then there has to be a delete somewhere... Not quite sure what to do about it. The current API is very sensible imho, but this intentional "resource leak" that Oxygen and Breeze do is just weird...

zzag moved this task from Work In Progress to Under Review on the KWin board.Jan 13 2020, 11:51 AM
zzag added a comment.Jan 22 2020, 10:33 AM
In T12496#216834, @zzag wrote:

I don't know of any nice way to do plasma dialogs in a way that won't introduce a regression

I don't think there is a nice way to work around it. I'm afraid those people will have to stick with shadow-less plasma dialogs on wayland for quite some time. :(

Hmm, so the best way to handle this is to land the plasma-framework patch when KF 5.70 is around the corner.

KDE Plasma 5.19 depends on KF 5.70.