$ sudo apt-get build-dep compiz
$ ./configure
$ make
(You need to be in the "root" directory of the package, which gets created by "apt-get source" in the first step. It's the one above the src directory. If you compile it several times, you don't need to run the first command each time; once is enough.)
Then you need to install it, which is actually the most annoying part. You just run
$ sudo make install
and it puts the new compiz in /usr/local/bin. That's easy enough, but you have to modify the /usr/bin/compiz file, which is a script, to run yours instead of Ubuntu's. If you know a tiny bit of scripting it's easy though. The annoying thing is that on every update of compiz the file gets re-written. I just keep a copy somewhere and replace it when that happens, but I'm sure there must be a better way...
(Note that in the package installed by Ubuntu the executable is called "compiz.real", and "compiz" is a script that runs it with some arguments. The compiled one has the executable called "compiz" and no script (that I can see). I suppose you could play with the ./configure script, if you're so inclined.)
You have to download the source to compiz, make a small change, compile and install it.
To download:
$ apt-get source compiz
The change: Find in the file src/window.c these lines:
if (stackingMode != CompStackingUpd ateModeNone) ateModeAboveFul lscreen) ; hanges (w, &xwc, findSiblingBelow (w, aboveFs));
{
Bool aboveFs;
aboveFs = (stackingMode == CompStackingUpd
mask |= addWindowStackC
}
And change the line that starts with aboveFs to:
aboveFs = (stackingMode == CompStackingUpd ateModeAboveFul lscreen) || (stackingMode == CompStackingUpd ateModeInitialM ap);
Then you need to compile it:
$ sudo apt-get build-dep compiz
$ ./configure
$ make
(You need to be in the "root" directory of the package, which gets created by "apt-get source" in the first step. It's the one above the src directory. If you compile it several times, you don't need to run the first command each time; once is enough.)
Then you need to install it, which is actually the most annoying part. You just run
$ sudo make install
and it puts the new compiz in /usr/local/bin. That's easy enough, but you have to modify the /usr/bin/compiz file, which is a script, to run yours instead of Ubuntu's. If you know a tiny bit of scripting it's easy though. The annoying thing is that on every update of compiz the file gets re-written. I just keep a copy somewhere and replace it when that happens, but I'm sure there must be a better way...
(Note that in the package installed by Ubuntu the executable is called "compiz.real", and "compiz" is a script that runs it with some arguments. The compiled one has the executable called "compiz" and no script (that I can see). I suppose you could play with the ./configure script, if you're so inclined.)