[compiz] Q's on how compiz works

Quinn livinglatexkali at gmail.com
Tue May 13 10:58:34 PDT 2008


On Tue, May 13, 2008 at 10:18 AM, andrew rader <andrew.r.rader at gmail.com> wrote:
> unfortunately, I never got any response (in fact, I was starting to
>  even doubt I had ever sent the email :p)
>
>  The more sleuthing I do, the more it appears there aren't a lot of
>  people that know what compiz is doing :( Most people are content that
>  it just works for them...
>
>  does anyone have any clues? I'd be grateful for even a link to a
>  compiz design doc
>
>
>
>  On Tue, May 13, 2008 at 9:32 AM, Shane Bryan <dbryans at gmail.com> wrote:
>  >
>  >
>  >
>  > On Mon, Apr 7, 2008 at 10:36 AM, andrew rader <andrew.r.rader at gmail.com>
>  > wrote:
>  > > Hi all,
>  > >
>  > > I've recently become interesting in how all of the pieces of X/compiz
>  > > come together to do what it does, and after going through compiz's
>  > > code, I have a few questions that I just can't seem to find any
>  > > answers to.
>  > >
>  >
>  > <snip>
>  >
>  > > first, how does compiz know what geometry to use for the textured
>  > > "window" objects? It obviously can't use the width and height of the
>  > > window, since opengl's coordinates are going to be much different (ie.
>  > > between -1 and 1). I tried looking through the code, but I can't find
>  > > anything that appears to convert from X window coords to OpenGL
>  > > coords.

This is just a simple coordinate transform, nothing big, involves
setting the right projection matrix and some internal conversions too

>  > >
>  > > second, how is the user's input mapped to windows? If my understanding
>  > > of compiz being an opengl app is correct, any input will be to the
>  > > compiz window rather than the window the user perceives to be active.
>  > > Is there a simple way of redirecting these inputs? or does compiz have
>  > > to manually map an input event to the correct window?
>  > >

Compiz doesn't need to create its own window, it draws on an
output-only window of the X server itself called the Composite Overlay
Window (or in older X versions onto the root window), and because the
windows are redirected, the server doesn't bother drawing them itself.
 This lets compiz handle the drawing, and the server still handles
input (in fact we *can't* redirect input yet, this is why complex
transformed windows are still not easily possible, things like rotated
windows, scaled, etc., though IIRC we are trying to fake it in one of
the plugins)

>  >
>  > Just catching up on this list, and am curious about the same questions.
>  >
>  > I don't see a response on the list, did you get a private response you can
>  > share with the list, or does someone have links to where to read more about
>  >  this?
>  >
>  > Shane...
>  >
>
>
> _______________________________________________
>  compiz mailing list
>  compiz at lists.freedesktop.org
>  http://lists.freedesktop.org/mailman/listinfo/compiz
>


More information about the compiz mailing list