HomeDocumentationFAQCommunity Log in / create account
compiz.org 

From Compiz

(Redirected from Documentation:Development)

Contents

Development Roadmap

Here is the Development Roadmap

You can also watch the latest commits Here.

For Compiz development, please fetch from the Git repository. Install with the normal instructions except replace ./configure with ./autogen.sh in the first step, you may install compiz into a different directory by specifying --prefix=<dir>.


Installing to home directory

You can try to keep the development version separate from the normal version by installing to your home directory using --prefix ~

The GConf configuration schemas won't be applied automatically in this case, so if they have changed significantly, you'll need to run gconftool --install-schema-file plugins/compiz.schemas and gconftool --install-schema-file gtk/window-decorator/gwd.schemas.

Note that on some distributions, the command compiz is a wrapper that takes care of some details. If you start the development version directly, you need to take care of these details yourself. Sometimes you need to:

  • set LD_PRELOAD appropriately to get the right libGL.so
  • set LIBGL_ALWAYS_INDIRECT=1 in the shell environment variables.
  • use some of the options --indirect-rendering --strict-binding --use-cow

At least you need to provide as argument the plug-in gconf to be loaded, and start gtk-window-decorator process separately.

For example, the resulting command might look like this:

~/bin/gtk-window-decorator --replace & LIBGL_ALWAYS_INDIRECT=1 ~/bin/compiz --use-cow --strict-binding --replace gconf &

If you want to compile third-party plug-ins for a Compiz installed in your home directory, you have to specify the location of the correct compiz.h, for example by setting PKG_CONFIG_PATH=~/lib/pkgconfig.


Downloading with git

If you are working on compiz, you should always work from a recent git checkout. The following git commands will make sure your local tree is always up to date and changes to head are merged correctly.

git clone git://git.freedesktop.org/git/xorg/app/compiz

followed by periodic updates:

git pull origin

Once you have a clone this way, you can browse it locally with graphical tools such as gitk or gitview.


Committing local changes

You may commit changes locally with "git commit -a". These local commits will be automatically merged with upstream changes when you cg-update (if you do not commit your local changes then update can fail).

This will ask you for a commit message, you may need to set the GIT_AUTHOR_NAME & GIT_COMMITTER_NAME environmental variables for this to work.


Submitting patches to the mailing list

Once you are happy with your changes, check them for formatting errors and then type this

git format-patch origin

This will output your patch in the same directory labeled something like 001-commit-message.txt