[compiz] Question regarding window output extents

Danny Baumann dannybaumann at web.de
Wed Dec 27 03:55:32 PST 2006


Hi,

> The question now is: How can we communicate the fact that there is a
> second set of decoration properly to other plugins so that window
> damaging and transformation are aware of the glow? 
> >From my understanding, the member "output" of the CompWindow structure
> is supposed to do exactly that. But its contents get overwritten by the
> decoration plugin on every window state change and window
> activation/deactivation, so our plugin can't use it (and the function
> setWindowFrameExtents) directly because the changes aren't persistent.

After some more research, I'd like to add a comment:
As w->output really seems to be the struct responsible for what I'd like
to do, I have a proposal for solving that problem:

- Add a wrappable notify function, called from inside
setWindowFrameExtents - the prototype could look that way:

void windowFrameUpdateNotify (CompWindow *w, Bool inputChanged, Bool
outputChanged);

- Plugins which want to manipulate w->input or w->output then can hook
(AKA wrap) into this notify function and can adjust the structs to their
needs.

- If the plugins only are allowed to enlarge w->output and not to shrink
it, this approach is even plugin load order independant.

Questions/Remarks/Comments?

Regards,

Danny



More information about the compiz mailing list