Most of the plugins are already included in the three main plugin packages: Main, Extra and Unsupported. These are provided by the packager for your distribution. If you wish to install an individual plugin which is not included in any of the packages, this page details how to clone it from its Git repository and install it.


You will need some basic terminal usage skills, such as changing directories, moving files and deleting files, as well as listing the files in a directory. These can be found in your distribution's help section. Secondly, you will need the Git package. Most users can install this via the packages git-core and git-utils. Finally, you'll need compiz development and compilation header files. These can be obtained by installing compiz-fusion-dev (or compiz-dev) and compiz-bcop (or bcop) from your package manager.

Finding a plugin via gitweb

The Git repositories are listed Plugins are listed under the /fusion/plugins directory; you should know the name of the plugin you are looking for.

Clicking on an item in the list will take you to its summary page. At the top of the page, you should find two Git URLs listed. You will need the one that begins with git://

Cloning a repository

You now need to clone the repository. To do this, launch a terminal window, navigate to your home directory (if you are not there already), and create a new directory named compiz. Switch to that directory. Now, enter the following, replacing GIT_URL_HERE with the URL you found on the summary page. (You can copy and paste it instead of typing it.)

git clone GIT_URL_HERE

This will create a new subdirectory at ~/compiz/PLUGIN_NAME, containing a local copy of the repository's contents.

Compiling the plugin

What you have cloned is the source code for the plugin, which needs to be compiled. This can be done by entering the newly created directory and running make, then make install. Do not use sudo for these commands. They install the plugins to ~/.compiz/plugins and therefore do not require root privileges.

Schema and and options generation should be done for you by BCOP. You should now be able to see the plugin in CCSM. To begin using it, you need to restart Compiz, then enable it.

Updating the plugin

To update the plugin, you need to pull the latest version, remove the old files generated by make, then compile and install again. This translates to the following commands:

git pull origin
make clean
make install

If you want to review the update before pulling it from the server, you can always go back to its summary page on gitweb and see the description of the last update at the top of the shortlog.

Using branches

To list all available branches use the following command:

git branch -r

To checkout a specific branches use the following commands:

git checkout --track -b LOCAL_BRANCH_NAME origin/REMOTE_BRANCH_NAME

Editing the plugin source

You are free to edit the source code as you wish (and recompile accordingly). If you do so, it is wise to locally commit your changes, so that they are not overwritten by an update from the repository:

git commit -a -m "Insert your commit message here"

Conversely, if you wish to discard every change you have made and revert to the version currently in git, you may do so with this command:

git checkout -f