The problem is the function "gdk_x11_screen_get_window_manager_name" which "gnome-appearance-properties" uses to test if Compiz has started. Here is a small test program that demonstrates the problem:
Build and run the program. It will output 'Metacity' all the time. Then start 'compiz --replace' while the program is running and it will continue to print 'Metacity'. Restart the program while compiz is running and it will output 'compiz'.
The problem is the function "gdk_x11_ screen_ get_window_ manager_ name" which "gnome- appearance- properties" uses to test if Compiz has started. Here is a small test program that demonstrates the problem:
Build and run the program. It will output 'Metacity' all the time. Then start 'compiz --replace' while the program is running and it will continue to print 'Metacity'. Restart the program while compiz is running and it will output 'compiz'.
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
// gcc -g intel.c -o intel-test `pkg-config --cflags gtk+-2.0 gdk-2.0` `pkg-config --libs gtk+-2.0 gdk-2.0`
int main(int argc, char *argv[])
{
gdk_init(&argc, &argv);
while(1) get_default( );
{
GdkScreen *default_gdk_screen = gdk_screen_
if (!default_ gdk_screen)
return 0;
}
}