If I wobble a window and quickly initiate switcher or cube, this can
cause weird artifacts.

I had a look at Beryl's switcher.c
In switchPaintThumb they use this:

static void
switchPaintThumb(...)
{
        DrawWindowGeometryProc oldDrawWindowGeometry;
        AddWindowGeometryProc oldAddWindowGeometry;
        WindowPaintAttrib sAttrib = *attrib;
        int wx, wy;
        float width, height;
        CompIcon *icon = NULL;

        /* Wrap drawWindowGeometry to make sure the general
           drawWindowGeometry function is used */

        oldDrawWindowGeometry = w->screen->drawWindowGeometry;
        w->screen->drawWindowGeometry = getBaseDrawWindowGeometry();
        oldAddWindowGeometry = w->screen->addWindowGeometry;
        w->screen->addWindowGeometry = getBaseAddWindowGeometry();
        
        ...... calulating and painting .......

        w->screen->drawWindowGeometry = oldDrawWindowGeometry;
        w->screen->addWindowGeometry = oldAddWindowGeometry;
}

Why Compiz's switcher.c doesn't use this?

Stjepan

_______________________________________________
compiz mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/compiz

Reply via email to