[compiz] Plugins

moppsy moppsy at comcast.net
Mon Oct 9 11:59:24 PDT 2006


On Mon  9.Oct'06 at 15:49:03 +0100, Mike Dransfield wrote:
> Thanks for these moppsy

Not a problem.

> *State*
> 
> http://www.anykeysoftware.co.uk/compiz/plugins/state.tar.gz
> 
> This keeps state of applications, I find it very useful. The initial 
> position doesn't
> seem to work but everything else does. This plugin is very useful 
> because it allows
> compiz effects to be used as screensavers.

Initial position isn't working because of the name of the atom being
sent to put. In state.c at line 913 
XInternAtom (w->screen->display->display, "_BERYL_PUT_WINDOW"
should be XInternAtom (w->screen->display->display, "_COMPIZ_PUT_WINDOW"
Also, if you didn't know, initial position uses put to do the actual 
window moving. So it needs to be loaded too.

This was another area where I was unsure of how to actually pull this
off.  It was never my intention to use put in this way, but it was
requested by a lot of people so I did the best I could.
As usual, any advice or suggestions are welcome.

> *Water Quad Patch*
> 
> I also have a patch from moppsy for the quad water wave. It seems to 
> work, I removed
> the shiver patches because they require patches to wobbly.
> 
> http://www.anykeysoftware.co.uk/compiz/patches/90_water-quad-wave_water.c.diff
> http://www.anykeysoftware.co.uk/compiz/patches/90_water-quad-wave_compiz.schemas.in.diff

Oh, this is such a hack.  I tried to just follow the conventions in the
source and extend line into quad. I'm not sure if I did softwareQuads
correctly, It's just a data munge to squeeze it through softwareLines.

I also put logic to ignore the active window and by pass drawing water 
on it.  It's just a test of the window ID during texture drawing to match 
on the active window when windowWave was initiated.  
I did this because I was trying to mimic the MacOS effect of dropping 
widgets and having water drawing on the window just looked kind of silly.  

The modification I did to wobbly for this was just a client event handler 
that would call shiver.  Though just like in put, I'm not sure if this was 
the best way to do this.  I probably could have just used dbus to do both.

Oh well, again, any suggestions, comments, insults or accolades would 
be welcome.



More information about the compiz mailing list