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 _______________________________________________ compiz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/compiz
