[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwin
Subject:    [Bug 235821] using kwin shadows with oxygen creates artifact
From:       Fredrik Höglund  <fredrik () kde ! org>
Date:       2010-04-30 20:37:05
Message-ID: 20100430203705.A12073EDD8 () immanuel ! kde ! org
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=235821





--- Comment #8 from Fredrik Höglund <fredrik kde org>  2010-04-30 22:37:02 ---
(In reply to comment #5)
> For the patch: only to decoration that sets the AbilityUsesAlphaChannel to true
> are affected. And they should (cause the decoration is then allowed to put
> transparency anywhere, and the shadow should be drawn behind).
> 
> Other decorations are unaffected.

I'm sorry, but it sounds like what you're saying is that since this only
affects our default decoration and other decorations that behave the way we
think modern decorations should, it isn't really a problem.

If the issue is that the shadow effect makes an incorrect assumption that an
opaque window has an opaque decoration, then fix the shadow effect.
The shadow effect can check if the decorations are opaque by calling
effects->decorationsHaveAlpha().

Don't fix the problem by tweaking other parts of KWin until that false
assumption becomes true. Especially not if those tweaks result in performance
regressions.

> "I also don't like the logic in topLevelDecorationHasAlpha() that if the client
> window covers the decoration, then the decoration doesn't have an alpha
> channel". This is used elsewhere in scene.cpp. That's apparently the only way
> from scene.cpp to know whether the window has a decoration or not. I agree it
> is suboptimal ...
>
> "If we add a hint in the future that lets the client combine this with having
> the client window cover the whole frame, then this logic will definitely not
> work."
> 
> I actually don't think so, because the other check (isOpaque) check for the
> client opacity setting, and its color depth. So that even if decorationAsAlpha
> is false, the isOpaque will be true, and the PAINT_WINDOW_TRANSLUCENT will be
> set.

Yes, you're right.

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
kwin mailing list
kwin@kde.org
https://mail.kde.org/mailman/listinfo/kwin

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic