KWin and FrameSvg

Marco Martin notmart at gmail.com
Wed Jan 16 09:28:30 UTC 2013


On Wednesday 16 January 2013, Martin Gräßlin wrote:
> * EffectFrames render a "widgets/background"
> * PresentWindows and DesktopGrid render a "dialogs/background"
> * TabBox uses PlasmaCore.FrameSvgItem with "dialogs/background"
> * DesktopChangeOSD uses PlasmaCore.Dialog, so implicitly
> "dialogs/background"
> 
> Everything that uses "dialogs/background" is broken and gets the opaque
> element set. Everything that uses "widgets/background" gets correctly the
> translucent set (tried changing PresentWindow and TabBox and it got correct
> elements).

hmm, maybe they don't provide an opaque set...
the set to use is chosen in theme.cpp, line 258

to notice if composite is active, uses kwindowsystem (KWindowSystem::self()-
>compositingActive()), maybe that's why becomes broken in kwin? (since also 
other kwindowsystem functions tends to break when used there)

> I'm a little bit at loss here. I would like to get this fixed for 4.10. Any
> advice would be very welcome. Have there been any changes? Is there a way
> to request the translucent set (KWin knows better whether Compositing is
> used than anyone else ;-)?

yeah, due to a quirk you can force translucent  or force opaque (but you can't 
force the normal transparent one)

you can ask for the "translucent/dialogs/background" element

at least for 4.10 you can maybe force translucent to dialogs.
there is only one version of widgets/background, so should be always ok-ish 
(can never be used as a main frame of a window tough since doesn't have an 
opaque version)

-- 
Marco Martin


More information about the Plasma-devel mailing list