Show minimized windows in desktop grid with present windows and fade them in/out during the start animation.

BUG: 219595

svn path=/trunk/KDE/kdebase/workspace/; revision=1064812
This commit is contained in:
Martin Gräßlin 2009-12-21 21:04:18 +00:00
parent cb51fbb14c
commit 5f6a6cac67

View file

@ -233,6 +233,8 @@ void DesktopGridEffect::prePaintWindow( EffectWindow* w, WindowPrePaintData& dat
if( w->isOnDesktop( paintingDesktop )) if( w->isOnDesktop( paintingDesktop ))
{ {
w->enablePainting( EffectWindow::PAINT_DISABLED_BY_DESKTOP ); w->enablePainting( EffectWindow::PAINT_DISABLED_BY_DESKTOP );
if( w->isMinimized() && isUsingPresentWindows() )
w->enablePainting( EffectWindow::PAINT_DISABLED_BY_MINIMIZE );
data.mask |= PAINT_WINDOW_TRANSFORMED; data.mask |= PAINT_WINDOW_TRANSFORMED;
// Split windows at screen edges // Split windows at screen edges
@ -324,6 +326,10 @@ void DesktopGridEffect::paintWindow( EffectWindow* w, int mask, QRegion region,
// fade out panels if present windows is used // fade out panels if present windows is used
d.opacity *= ( 1.0 - timeline.value() ); d.opacity *= ( 1.0 - timeline.value() );
} }
if( isUsingPresentWindows() && w->isMinimized() )
{
d.opacity *= timeline.value();
}
if( effects->compositingType() == XRenderCompositing ) if( effects->compositingType() == XRenderCompositing )
{ // More exact clipping as XRender displays the entire window instead of just the quad { // More exact clipping as XRender displays the entire window instead of just the quad