Hi,
In current git, minimize doesn't respect the
PAINT_WINDOW_NO_CORE_INSTANCE_MASK flag set by other plugins. I noticed
that especially in group: Tabbed windows are hidden by setting
PAINT_WINDOW_NO_CORE_INSTANCE_MASK. When these windows are minimized
together with their group, minimize draws its animation regardless if
that flag is set or not; with the effect of the hidden windows appearing
during the time of animation.
I've attached a patch which makes minimize respect that flag; however,
I'm not completely sure if that is the best way to do it or if it would
be better to do the animation drawing inside of drawWindow().
What do you think?
Regards,
Danny
diff --git a/plugins/minimize.c b/plugins/minimize.c
index 6f3e5af..49dbbdd 100644
--- a/plugins/minimize.c
+++ b/plugins/minimize.c
@@ -617,25 +617,28 @@ minPaintWindow (CompWindow *w,
mask | PAINT_WINDOW_NO_CORE_INSTANCE_MASK);
WRAP (ms, s, paintWindow, minPaintWindow);
- initFragmentAttrib (&fragment, &w->lastPaint);
+ if (!(mask & PAINT_WINDOW_NO_CORE_INSTANCE_MASK))
+ {
+ initFragmentAttrib (&fragment, &w->lastPaint);
- if (w->alpha || fragment.opacity != OPAQUE)
- mask |= PAINT_WINDOW_TRANSLUCENT_MASK;
+ if (w->alpha || fragment.opacity != OPAQUE)
+ mask |= PAINT_WINDOW_TRANSLUCENT_MASK;
- matrixTranslate (&wTransform, w->attrib.x, w->attrib.y, 0.0f);
- matrixScale (&wTransform, mw->xScale, mw->yScale, 0.0f);
- matrixTranslate (&wTransform,
- mw->tx / mw->xScale - w->attrib.x,
- mw->ty / mw->yScale - w->attrib.y,
- 0.0f);
+ matrixTranslate (&wTransform, w->attrib.x, w->attrib.y, 0.0f);
+ matrixScale (&wTransform, mw->xScale, mw->yScale, 0.0f);
+ matrixTranslate (&wTransform,
+ mw->tx / mw->xScale - w->attrib.x,
+ mw->ty / mw->yScale - w->attrib.y,
+ 0.0f);
- glPushMatrix ();
- glLoadMatrixf (wTransform.m);
+ glPushMatrix ();
+ glLoadMatrixf (wTransform.m);
- (*s->drawWindow) (w, &wTransform, &fragment, region,
- mask | PAINT_WINDOW_TRANSFORMED_MASK);
+ (*s->drawWindow) (w, &wTransform, &fragment, region,
+ mask | PAINT_WINDOW_TRANSFORMED_MASK);
- glPopMatrix ();
+ glPopMatrix ();
+ }
}
else
{
_______________________________________________
compiz mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/compiz