[compiz] Paint chanegs block dbus and fuse plugins
Mike Dransfield
mike at blueroot.co.uk
Mon Apr 9 09:26:13 PDT 2007
I was writing a simple plugin a while ago which just
sets the paint values on inactive windows. The plugin is
very simple and the main part is below.
When I load this plugin it blocks dbus and fuse plugins
so that they only reply to requests when the active window
changes.
Is there anything obvious here that would cause that?
static Bool
inactivePaintWindow (CompWindow *w,
const WindowPaintAttrib *attrib,
const CompTransform *transform,
Region region,
unsigned int mask)
{
Bool status;
INACTIVE_SCREEN (w->screen);
INACTIVE_WINDOW (w);
WindowPaintAttrib fAttrib = *attrib;
if (iw->managed
&& w->mapNum
&& (w->screen->display->activeWindow != w->id))
{
Bool painted = FALSE;
if (fAttrib.opacity != iw->inactiveOpacity)
{
fAttrib.opacity = iw->inactiveOpacity;
painted = TRUE;
}
if (fAttrib.brightness != iw->inactiveBrightness)
{
fAttrib.brightness = iw->inactiveBrightness;
painted = TRUE;
}
if (fAttrib.saturation != iw->inactiveSaturation)
{
fAttrib.saturation = iw->inactiveSaturation;
painted = TRUE;
}
if (painted)
addWindowDamage (w);
}
UNWRAP (is, w->screen, paintWindow);
status = (*w->screen->paintWindow) (w, &fAttrib, transform, region,
mask);
WRAP (is, w->screen, paintWindow, inactivePaintWindow);
return status;
}
More information about the compiz
mailing list