[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

compiz: Changes to 'debian-unstable'



 debian/patches/series                                                  |   24 +
 debian/patches/ubuntu/010-disable-child-window-clipping.patch          |   37 +
 debian/patches/ubuntu/013-add-cursor-theme-support.patch               |  239 ++++++++++
 debian/patches/ubuntu/014-fix-gtk-window-decorator-no-argb-crash.patch |   42 +
 debian/patches/ubuntu/018_use_metacity_settings.patch                  |   11 
 debian/patches/ubuntu/028_compiz_manager_blacklist                     |   22 
 debian/patches/ubuntu/029_compiz_manager_decoration.patch              |   23 
 debian/patches/ubuntu/029_compiz_manager_nvidia_settings.patch         |   15 
 debian/patches/ubuntu/029_default_options                              |  130 +++++
 debian/patches/ubuntu/030_compiz_manager_multi_display                 |   32 +
 debian/patches/ubuntu/031_compiz_manager_extra_blacklist_support       |   17 
 debian/patches/ubuntu/032_compiz_manager_add_gnomecompat               |   25 +
 debian/patches/ubuntu/033_compiz_manager_xdg_dirs                      |   23 
 debian/patches/ubuntu/035_ignore_workspaces                            |   11 
 debian/patches/ubuntu/037_fullscreen_stacking_fixes.patch              |   14 
 debian/patches/ubuntu/042-compiz-manager-default-plugin                |   11 
 debian/patches/ubuntu/046_compiz_manager_second_screen.patch           |   37 +
 debian/patches/ubuntu/049-damage-report-non-empty.patch                |   77 +++
 debian/patches/ubuntu/050_stacking.patch                               |   11 
 debian/patches/ubuntu/090_profiling                                    |  118 ++++
 debian/patches/ubuntu/099-autogen.patch                                |   12 
 debian/patches/ubuntu/series                                           |   20 
 22 files changed, 951 insertions(+)

New commits:
commit 63c856ffb122d279d2a7637744fe909f75d63b74
Author: Sean Finney <seanius@debian.org>
Date:   Sat Apr 11 11:52:13 2009 +0200

    massage/update offsets across ubuntu patches
    
    i don't know whether this will be good or bad in the long run if we try
    to keep in sync, but for the meantime it keeps things clean and tidy.

diff --git a/debian/patches/ubuntu/010-disable-child-window-clipping.patch b/debian/patches/ubuntu/010-disable-child-window-clipping.patch
index 04f6dc0..97f9cdd 100644
--- a/debian/patches/ubuntu/010-disable-child-window-clipping.patch
+++ b/debian/patches/ubuntu/010-disable-child-window-clipping.patch
@@ -1,8 +1,6 @@
-Index: compiz-0.6.99+git20071106/src/display.c
-===================================================================
---- compiz-0.6.99+git20071106.orig/src/display.c	2007-11-06 12:10:32.000000000 -0600
-+++ compiz-0.6.99+git20071106/src/display.c	2007-11-06 14:13:25.000000000 -0600
-@@ -2348,6 +2348,23 @@
+--- 0-compiz.orig/src/display.c
++++ 0-compiz/src/display.c
+@@ -2138,6 +2138,23 @@ addDisplay (const char *name)
  	lastScreen  = ScreenCount (dpy) - 1;
      }
  
@@ -26,11 +24,9 @@ Index: compiz-0.6.99+git20071106/src/display.c
      for (i = firstScreen; i <= lastScreen; i++)
      {
  	Window		     newWmSnOwner = None, newCmSnOwner = None;
-Index: compiz-0.6.99+git20071106/include/compiz-core.h
-===================================================================
---- compiz-0.6.99+git20071106.orig/include/compiz-core.h	2007-11-06 14:13:54.000000000 -0600
-+++ compiz-0.6.99+git20071106/include/compiz-core.h	2007-11-06 14:14:10.000000000 -0600
-@@ -1020,6 +1020,8 @@
+--- 0-compiz.orig/include/compiz-core.h
++++ 0-compiz/include/compiz-core.h
+@@ -1025,6 +1025,8 @@ struct _CompDisplay {
  
      GLenum textureFilter;
  
diff --git a/debian/patches/ubuntu/013-add-cursor-theme-support.patch b/debian/patches/ubuntu/013-add-cursor-theme-support.patch
index 448f2c8..c2ce591 100644
--- a/debian/patches/ubuntu/013-add-cursor-theme-support.patch
+++ b/debian/patches/ubuntu/013-add-cursor-theme-support.patch
@@ -1,8 +1,6 @@
-Index: compiz-0.7.9+git20090210/configure.ac
-===================================================================
---- compiz-0.7.9+git20090210.orig/configure.ac	2009-02-09 15:48:57.000000000 +0100
-+++ compiz-0.7.9+git20090210/configure.ac	2009-02-10 10:41:02.000000000 +0100
-@@ -123,6 +123,7 @@
+--- 0-compiz.orig/configure.ac
++++ 0-compiz/configure.ac
+@@ -123,6 +123,7 @@ COMPIZ_REQUIRES="xcomposite \
  		 xdamage    \
  		 xrandr	    \
  		 xinerama   \
@@ -10,10 +8,8 @@ Index: compiz-0.7.9+git20090210/configure.ac
  		 ice	    \
  		 sm	    \
  		 libxml-2.0 \
-Index: compiz-0.7.9+git20090210/gtk/window-decorator/gtk-window-decorator.c
-===================================================================
---- compiz-0.7.9+git20090210.orig/gtk/window-decorator/gtk-window-decorator.c	2009-02-09 15:48:57.000000000 +0100
-+++ compiz-0.7.9+git20090210/gtk/window-decorator/gtk-window-decorator.c	2009-02-10 10:41:02.000000000 +0100
+--- 0-compiz.orig/gtk/window-decorator/gtk-window-decorator.c
++++ 0-compiz/gtk/window-decorator/gtk-window-decorator.c
 @@ -30,6 +30,7 @@
  #include <X11/cursorfont.h>
  #include <X11/extensions/Xrender.h>
@@ -51,7 +47,7 @@ Index: compiz-0.7.9+git20090210/gtk/window-decorator/gtk-window-decorator.c
  #define DBUS_DEST       "org.freedesktop.compiz"
  #define DBUS_PATH       "/org/freedesktop/compiz/decoration/allscreens"
  #define DBUS_INTERFACE  "org.freedesktop.compiz"
-@@ -6513,6 +6529,44 @@
+@@ -6491,6 +6507,44 @@ button_layout_changed (GConfClient *clie
      return FALSE;
  }
  
@@ -96,7 +92,7 @@ Index: compiz-0.7.9+git20090210/gtk/window-decorator/gtk-window-decorator.c
  static void
  value_changed (GConfClient *client,
  	       const gchar *key,
-@@ -6591,6 +6645,11 @@
+@@ -6569,6 +6623,11 @@ value_changed (GConfClient *client,
  	if (theme_opacity_changed (client))
  	    changed = TRUE;
      }
@@ -108,7 +104,7 @@ Index: compiz-0.7.9+git20090210/gtk/window-decorator/gtk-window-decorator.c
  
      if (changed)
  	decorations_changed (data);
-@@ -6754,6 +6813,11 @@
+@@ -6732,6 +6791,11 @@ init_settings (WnckScreen *screen)
  			  NULL);
  
      gconf_client_add_dir (gconf,
@@ -120,7 +116,7 @@ Index: compiz-0.7.9+git20090210/gtk/window-decorator/gtk-window-decorator.c
  			  COMPIZ_GCONF_DIR1,
  			  GCONF_CLIENT_PRELOAD_ONELEVEL,
  			  NULL);
-@@ -6762,6 +6826,9 @@
+@@ -6740,6 +6804,9 @@ init_settings (WnckScreen *screen)
  		      "value_changed",
  		      G_CALLBACK (value_changed),
  		      screen);
@@ -130,10 +126,8 @@ Index: compiz-0.7.9+git20090210/gtk/window-decorator/gtk-window-decorator.c
  #elif USE_DBUS_GLIB
      DBusConnection *connection;
      DBusMessage	   *reply;
-Index: compiz-0.7.9+git20090210/metadata/core.xml.in.in
-===================================================================
---- compiz-0.7.9+git20090210.orig/metadata/core.xml.in.in	2009-02-10 10:37:43.000000000 +0100
-+++ compiz-0.7.9+git20090210/metadata/core.xml.in.in	2009-02-10 10:41:02.000000000 +0100
+--- 0-compiz.orig/metadata/core.xml.in.in
++++ 0-compiz/metadata/core.xml.in.in
 @@ -35,6 +35,18 @@
  		<min>0</min>
  		<max>10000</max>
@@ -153,10 +147,8 @@ Index: compiz-0.7.9+git20090210/metadata/core.xml.in.in
  	    <option name="ping_delay" type="int">
  		<_short>Ping Delay</_short>
  		<_long>Interval between ping messages</_long>
-Index: compiz-0.7.9+git20090210/src/display.c
-===================================================================
---- compiz-0.7.9+git20090210.orig/src/display.c	2009-02-10 10:40:33.000000000 +0100
-+++ compiz-0.7.9+git20090210/src/display.c	2009-02-10 10:41:02.000000000 +0100
+--- 0-compiz.orig/src/display.c
++++ 0-compiz/src/display.c
 @@ -41,6 +41,8 @@
  #include <X11/extensions/Xcomposite.h>
  #include <X11/extensions/Xrandr.h>
@@ -166,7 +158,7 @@ Index: compiz-0.7.9+git20090210/src/display.c
  
  #include <compiz-core.h>
  
-@@ -474,6 +476,32 @@
+@@ -474,6 +476,32 @@ shade (CompDisplay     *d,
      return TRUE;
  }
  
@@ -199,7 +191,7 @@ Index: compiz-0.7.9+git20090210/src/display.c
  const CompMetadataOptionInfo coreDisplayOptionInfo[COMP_DISPLAY_OPTION_NUM] = {
      { "abi", "int", 0, 0, 0 },
      { "active_plugins", "list", "<type>string</type>", 0, 0 },
-@@ -510,7 +538,9 @@
+@@ -510,7 +538,9 @@ const CompMetadataOptionInfo coreDisplay
      { "toggle_window_shaded_key", "key", 0, shade, 0 },
      { "ignore_hints_when_maximized", "bool", 0, 0, 0 },
      { "ping_delay", "int", "<min>1000</min>", 0, 0 },
@@ -210,7 +202,7 @@ Index: compiz-0.7.9+git20090210/src/display.c
  };
  
  CompOption *
-@@ -661,6 +691,20 @@
+@@ -661,6 +691,20 @@ setDisplayOption (CompPlugin	  *plugin,
  	    return TRUE;
  	}
  	break;
@@ -231,11 +223,9 @@ Index: compiz-0.7.9+git20090210/src/display.c
      default:
  	if (compSetDisplayOption (display, o, value))
  	    return TRUE;
-Index: compiz-0.7.9+git20090210/include/compiz-core.h
-===================================================================
---- compiz-0.7.9+git20090210.orig/include/compiz-core.h	2009-02-10 10:40:33.000000000 +0100
-+++ compiz-0.7.9+git20090210/include/compiz-core.h	2009-02-10 10:42:03.000000000 +0100
-@@ -772,7 +772,10 @@
+--- 0-compiz.orig/include/compiz-core.h
++++ 0-compiz/include/compiz-core.h
+@@ -773,7 +773,10 @@ removeFileWatch (CompFileWatchHandle han
  #define COMP_DISPLAY_OPTION_IGNORE_HINTS_WHEN_MAXIMIZED      31
  #define COMP_DISPLAY_OPTION_PING_DELAY			     32
  #define COMP_DISPLAY_OPTION_EDGE_DELAY                       33
diff --git a/debian/patches/ubuntu/014-fix-gtk-window-decorator-no-argb-crash.patch b/debian/patches/ubuntu/014-fix-gtk-window-decorator-no-argb-crash.patch
index d3b60b2..f859b74 100644
--- a/debian/patches/ubuntu/014-fix-gtk-window-decorator-no-argb-crash.patch
+++ b/debian/patches/ubuntu/014-fix-gtk-window-decorator-no-argb-crash.patch
@@ -1,8 +1,6 @@
-Index: compiz-0.6.99+git20071106/gtk/window-decorator/gtk-window-decorator.c
-===================================================================
---- compiz-0.6.99+git20071106.orig/gtk/window-decorator/gtk-window-decorator.c	2007-11-06 11:16:56.000000000 -0600
-+++ compiz-0.6.99+git20071106/gtk/window-decorator/gtk-window-decorator.c	2007-11-06 11:18:24.000000000 -0600
-@@ -1956,10 +1956,8 @@
+--- 0-compiz.orig/gtk/window-decorator/gtk-window-decorator.c
++++ 0-compiz/gtk/window-decorator/gtk-window-decorator.c
+@@ -1918,10 +1918,8 @@ meta_draw_window_decoration (decor_t *d)
  
      size = MAX (fgeom.top_height, fgeom.bottom_height);
  
@@ -14,7 +12,7 @@ Index: compiz-0.6.99+git20071106/gtk/window-decorator/gtk-window-decorator.c
  	cr = gdk_cairo_create (GDK_DRAWABLE (pixmap));
  	gdk_cairo_set_source_color_alpha (cr, &bg_color, bg_alpha);
  	cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-@@ -2054,10 +2052,8 @@
+@@ -2020,10 +2018,8 @@ meta_draw_window_decoration (decor_t *d)
  
      size = MAX (fgeom.left_width, fgeom.right_width);
  
@@ -26,7 +24,7 @@ Index: compiz-0.6.99+git20071106/gtk/window-decorator/gtk-window-decorator.c
  	cr = gdk_cairo_create (GDK_DRAWABLE (pixmap));
  	gdk_cairo_set_source_color_alpha (cr, &bg_color, bg_alpha);
  	cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-@@ -3252,9 +3248,12 @@
+@@ -3320,9 +3316,12 @@ update_window_decoration_icon (WnckWindo
  	g_object_ref (G_OBJECT (d->icon_pixbuf));
  
  	d->icon_pixmap = pixmap_new_from_pixbuf (d->icon_pixbuf);
diff --git a/debian/patches/ubuntu/018_use_metacity_settings.patch b/debian/patches/ubuntu/018_use_metacity_settings.patch
index 0d9f304..7b196b7 100644
--- a/debian/patches/ubuntu/018_use_metacity_settings.patch
+++ b/debian/patches/ubuntu/018_use_metacity_settings.patch
@@ -1,8 +1,6 @@
-Index: compiz-0.7.9+git20090210/gtk/gnome/compiz.desktop.in
-===================================================================
---- compiz-0.7.9+git20090210.orig/gtk/gnome/compiz.desktop.in	2009-01-29 11:48:36.000000000 +0100
-+++ compiz-0.7.9+git20090210/gtk/gnome/compiz.desktop.in	2009-02-10 10:43:02.000000000 +0100
-@@ -5,7 +5,7 @@
+--- 0-compiz.orig/gtk/gnome/compiz.desktop.in
++++ 0-compiz/gtk/gnome/compiz.desktop.in
+@@ -5,7 +5,7 @@ _Name=Compiz
  Exec=compiz
  NoDisplay=true
  # name of loadable control center module
diff --git a/debian/patches/ubuntu/028_compiz_manager_blacklist b/debian/patches/ubuntu/028_compiz_manager_blacklist
index 4f8bca5..cd6efe1 100644
--- a/debian/patches/ubuntu/028_compiz_manager_blacklist
+++ b/debian/patches/ubuntu/028_compiz_manager_blacklist
@@ -1,8 +1,6 @@
-Index: compiz-0.7.8/debian/compiz-manager
-===================================================================
---- compiz-0.7.8.orig/debian/compiz-manager	2009-01-30 09:50:32.000000000 +0100
-+++ compiz-0.7.8/debian/compiz-manager	2009-01-30 09:54:26.000000000 +0100
-@@ -59,13 +59,15 @@
+--- 0-compiz.orig/debian/compiz-manager
++++ 0-compiz/debian/compiz-manager
+@@ -59,13 +59,15 @@ fi
  FALLBACKWM_OPTIONS="--replace $@"
  
  # Driver whitelist
diff --git a/debian/patches/ubuntu/029_default_options b/debian/patches/ubuntu/029_default_options
index bd5435a..dc000a5 100644
--- a/debian/patches/ubuntu/029_default_options
+++ b/debian/patches/ubuntu/029_default_options
@@ -1,8 +1,6 @@
-Index: compiz-0.8.2/metadata/core.xml.in.in
-===================================================================
---- compiz-0.8.2.orig/metadata/core.xml.in.in	2009-02-15 10:10:23.000000000 +0100
-+++ compiz-0.8.2/metadata/core.xml.in.in	2009-03-17 19:00:02.000000000 +0100
-@@ -199,7 +199,7 @@
+--- 0-compiz.orig/metadata/core.xml.in.in
++++ 0-compiz/metadata/core.xml.in.in
+@@ -211,7 +211,7 @@
  		<option name="hsize" type="int">
  		    <_short>Horizontal Virtual Size</_short>
  		    <_long>Screen size multiplier for horizontal virtual size</_long>
@@ -11,7 +9,7 @@ Index: compiz-0.8.2/metadata/core.xml.in.in
  		    <min>1</min>
  		    <max>32</max>
  		</option>
-@@ -272,7 +272,7 @@
+@@ -284,7 +284,7 @@
  		<option name="sync_to_vblank" type="bool">
  		    <_short>Sync To VBlank</_short>
  		    <_long>Only perform screen updates during vertical blanking period</_long>
@@ -20,7 +18,7 @@ Index: compiz-0.8.2/metadata/core.xml.in.in
  		</option>
  	    </group>
  	    <group>
-@@ -313,7 +313,7 @@
+@@ -325,7 +325,7 @@
  	    <option name="unredirect_fullscreen_windows" type="bool">
  		<_short>Unredirect Fullscreen Windows</_short>
  		<_long>Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps</_long>
@@ -29,10 +27,8 @@ Index: compiz-0.8.2/metadata/core.xml.in.in
  	    </option>
  	    <option name="default_icon" type="string">
  		<_short>Default Icon</_short>
-Index: compiz-0.8.2/metadata/scale.xml.in
-===================================================================
---- compiz-0.8.2.orig/metadata/scale.xml.in	2009-02-15 10:10:23.000000000 +0100
-+++ compiz-0.8.2/metadata/scale.xml.in	2009-03-17 19:00:02.000000000 +0100
+--- 0-compiz.orig/metadata/scale.xml.in
++++ 0-compiz/metadata/scale.xml.in
 @@ -27,9 +27,6 @@
  		<option name="initiate_edge" type="edge">
  		    <_short>Initiate Window Picker</_short>
@@ -43,10 +39,8 @@ Index: compiz-0.8.2/metadata/scale.xml.in
  		    <allowed edgednd="true"/>
  		</option>
  		<option name="initiate_key" type="key">
-Index: compiz-0.8.2/metadata/decoration.xml.in
-===================================================================
---- compiz-0.8.2.orig/metadata/decoration.xml.in	2009-02-15 10:10:23.000000000 +0100
-+++ compiz-0.8.2/metadata/decoration.xml.in	2009-03-17 19:00:02.000000000 +0100
+--- 0-compiz.orig/metadata/decoration.xml.in
++++ 0-compiz/metadata/decoration.xml.in
 @@ -16,7 +16,7 @@
  	    <option name="shadow_radius" type="float">
  		<_short>Shadow Radius</_short>
@@ -64,10 +58,8 @@ Index: compiz-0.8.2/metadata/decoration.xml.in
  	    </option>
  	    <option name="mipmap" type="bool">
  		<_short>Mipmap</_short>
-Index: compiz-0.8.2/metadata/gnomecompat.xml.in
-===================================================================
---- compiz-0.8.2.orig/metadata/gnomecompat.xml.in	2009-02-15 10:10:23.000000000 +0100
-+++ compiz-0.8.2/metadata/gnomecompat.xml.in	2009-03-17 19:00:02.000000000 +0100
+--- 0-compiz.orig/metadata/gnomecompat.xml.in
++++ 0-compiz/metadata/gnomecompat.xml.in
 @@ -40,7 +40,7 @@
  		<option name="command_terminal" type="string">
  		    <_short>Terminal command line</_short>
@@ -77,10 +69,8 @@ Index: compiz-0.8.2/metadata/gnomecompat.xml.in
  		</option>
  		<option name="run_command_terminal_key" type="key">
  		    <_short>Open a terminal</_short>
-Index: compiz-0.8.2/metadata/cube.xml.in
-===================================================================
---- compiz-0.8.2.orig/metadata/cube.xml.in	2009-02-15 10:10:23.000000000 +0100
-+++ compiz-0.8.2/metadata/cube.xml.in	2009-03-17 19:00:02.000000000 +0100
+--- 0-compiz.orig/metadata/cube.xml.in
++++ 0-compiz/metadata/cube.xml.in
 @@ -92,9 +92,9 @@
  		    <_short>Cube Color</_short>
  		    <_long>Color of top and bottom sides of the cube</_long>
@@ -105,10 +95,8 @@ Index: compiz-0.8.2/metadata/cube.xml.in
  		    </option>
  		    <option name="adjust_image" type="bool">
  			<_short>Adjust Image</_short>
-Index: compiz-0.8.2/metadata/place.xml.in
-===================================================================
---- compiz-0.8.2.orig/metadata/place.xml.in	2009-02-15 10:10:23.000000000 +0100
-+++ compiz-0.8.2/metadata/place.xml.in	2009-03-17 19:00:02.000000000 +0100
+--- 0-compiz.orig/metadata/place.xml.in
++++ 0-compiz/metadata/place.xml.in
 @@ -12,7 +12,7 @@
  	    <option name="mode" type="int">
  		<_short>Placement Mode</_short>
@@ -118,10 +106,8 @@ Index: compiz-0.8.2/metadata/place.xml.in
  		<min>0</min>
  		<max>4</max>
  		<desc>
-Index: compiz-0.8.2/metadata/resize.xml.in
-===================================================================
---- compiz-0.8.2.orig/metadata/resize.xml.in	2009-02-15 10:10:23.000000000 +0100
-+++ compiz-0.8.2/metadata/resize.xml.in	2009-03-17 19:00:02.000000000 +0100
+--- 0-compiz.orig/metadata/resize.xml.in
++++ 0-compiz/metadata/resize.xml.in
 @@ -40,7 +40,7 @@
  	    <option name="mode" type="int">
  		<_short>Default Resize Mode</_short>
@@ -131,10 +117,8 @@ Index: compiz-0.8.2/metadata/resize.xml.in
  		<min>0</min>
  		<max>3</max>
  		<desc>
-Index: compiz-0.8.2/metadata/fade.xml.in
-===================================================================
---- compiz-0.8.2.orig/metadata/fade.xml.in	2009-03-17 19:00:09.000000000 +0100
-+++ compiz-0.8.2/metadata/fade.xml.in	2009-03-17 19:00:45.000000000 +0100
+--- 0-compiz.orig/metadata/fade.xml.in
++++ 0-compiz/metadata/fade.xml.in
 @@ -51,7 +51,7 @@
  	    <option name="window_match" type="match">
  		<_short>Fade windows</_short>
diff --git a/debian/patches/ubuntu/030_compiz_manager_multi_display b/debian/patches/ubuntu/030_compiz_manager_multi_display
index 00823b8..ab92c7e 100644
--- a/debian/patches/ubuntu/030_compiz_manager_multi_display
+++ b/debian/patches/ubuntu/030_compiz_manager_multi_display
@@ -1,8 +1,6 @@
-Index: compiz-0.7.9+git20090211/debian/compiz-manager
-===================================================================
---- compiz-0.7.9+git20090211.orig/debian/compiz-manager	2009-02-16 08:34:14.000000000 +0100
-+++ compiz-0.7.9+git20090211/debian/compiz-manager	2009-02-16 08:34:55.000000000 +0100
-@@ -241,16 +241,21 @@
+--- 0-compiz.orig/debian/compiz-manager
++++ 0-compiz/debian/compiz-manager
+@@ -241,16 +241,21 @@ check_nvidia()
  # Check if the max texture size is large enough compared to the resolution
  check_texture_size()
  {
diff --git a/debian/patches/ubuntu/031_compiz_manager_extra_blacklist_support b/debian/patches/ubuntu/031_compiz_manager_extra_blacklist_support
index 2b1bd02..2e178aa 100644
--- a/debian/patches/ubuntu/031_compiz_manager_extra_blacklist_support
+++ b/debian/patches/ubuntu/031_compiz_manager_extra_blacklist_support
@@ -1,8 +1,6 @@
-Index: compiz-0.7.9+git20090211/debian/compiz-manager
-===================================================================
---- compiz-0.7.9+git20090211.orig/debian/compiz-manager	2009-02-24 14:02:13.000000000 +0100
-+++ compiz-0.7.9+git20090211/debian/compiz-manager	2009-02-24 14:09:52.000000000 +0100
-@@ -345,8 +345,14 @@
+--- 0-compiz.orig/debian/compiz-manager
++++ 0-compiz/debian/compiz-manager
+@@ -345,8 +345,14 @@ build_args()
  # Read configuration from XDG paths
  if [ -z "$XDG_CONFIG_DIRS" ]; then
  	test -f /etc/xdg/compiz/compiz-manager && . /etc/xdg/compiz/compiz-manager
diff --git a/debian/patches/ubuntu/032_compiz_manager_add_gnomecompat b/debian/patches/ubuntu/032_compiz_manager_add_gnomecompat
index 7fca4ff..ff2d473 100644
--- a/debian/patches/ubuntu/032_compiz_manager_add_gnomecompat
+++ b/debian/patches/ubuntu/032_compiz_manager_add_gnomecompat
@@ -1,8 +1,6 @@
-Index: compiz-0.8.2/debian/compiz-manager
-===================================================================
---- compiz-0.8.2.orig/debian/compiz-manager	2009-03-13 18:23:00.000000000 +0100
-+++ compiz-0.8.2/debian/compiz-manager	2009-03-13 18:36:57.000000000 +0100
-@@ -398,6 +398,22 @@
+--- 0-compiz.orig/debian/compiz-manager
++++ 0-compiz/debian/compiz-manager
+@@ -398,6 +398,22 @@ elif [ -f ${PLUGIN_PATH}libgconf.so ]; t
  	COMPIZ_PLUGINS="$COMPIZ_PLUGINS glib gconf"
  fi
  
diff --git a/debian/patches/ubuntu/033_compiz_manager_xdg_dirs b/debian/patches/ubuntu/033_compiz_manager_xdg_dirs
index 498861d..8fce0f0 100644
--- a/debian/patches/ubuntu/033_compiz_manager_xdg_dirs
+++ b/debian/patches/ubuntu/033_compiz_manager_xdg_dirs
@@ -1,8 +1,6 @@
-Index: compiz-0.7.9+git20090211/debian/compiz-manager
-===================================================================
---- compiz-0.7.9+git20090211.orig/debian/compiz-manager	2009-03-04 11:10:55.000000000 +0100
-+++ compiz-0.7.9+git20090211/debian/compiz-manager	2009-03-04 11:13:02.000000000 +0100
-@@ -349,10 +349,17 @@
+--- 0-compiz.orig/debian/compiz-manager
++++ 0-compiz/debian/compiz-manager
+@@ -349,10 +349,17 @@ if [ -z "$XDG_CONFIG_DIRS" ]; then
  		test -e $f && . $f
  	done
  else
diff --git a/debian/patches/ubuntu/035_ignore_workspaces b/debian/patches/ubuntu/035_ignore_workspaces
index 790e9a7..7fa23ac 100644
--- a/debian/patches/ubuntu/035_ignore_workspaces
+++ b/debian/patches/ubuntu/035_ignore_workspaces
@@ -1,7 +1,5 @@
-Index: compiz-0.7.9+git20090210/metadata/core.xml.in.in
-===================================================================
---- compiz-0.7.9+git20090210.orig/metadata/core.xml.in.in	2009-02-10 10:44:22.000000000 +0100
-+++ compiz-0.7.9+git20090210/metadata/core.xml.in.in	2009-02-10 10:45:46.000000000 +0100
+--- 0-compiz.orig/metadata/core.xml.in.in
++++ 0-compiz/metadata/core.xml.in.in
 @@ -227,7 +227,7 @@
  		    <_long>Number of virtual desktops</_long>
  		    <default>1</default>
diff --git a/debian/patches/ubuntu/037_fullscreen_stacking_fixes.patch b/debian/patches/ubuntu/037_fullscreen_stacking_fixes.patch
index 7ad6ac6..9eb1e04 100644
--- a/debian/patches/ubuntu/037_fullscreen_stacking_fixes.patch
+++ b/debian/patches/ubuntu/037_fullscreen_stacking_fixes.patch
@@ -1,8 +1,6 @@
-Index: compiz-0.7.9+git20090210/plugins/move.c
-===================================================================
---- compiz-0.7.9+git20090210.orig/plugins/move.c	2009-02-09 15:48:57.000000000 +0100
-+++ compiz-0.7.9+git20090210/plugins/move.c	2009-02-10 10:46:04.000000000 +0100
-@@ -123,6 +123,11 @@
+--- 0-compiz.orig/plugins/move.c
++++ 0-compiz/plugins/move.c
+@@ -123,6 +123,11 @@ moveInitiate (CompDisplay     *d,
      xid = getIntOptionNamed (option, nOption, "window", 0);
  
      w = findWindowAtDisplay (d, xid);
diff --git a/debian/patches/ubuntu/042-compiz-manager-default-plugin b/debian/patches/ubuntu/042-compiz-manager-default-plugin
index 738af70..cff8cd7 100644
--- a/debian/patches/ubuntu/042-compiz-manager-default-plugin
+++ b/debian/patches/ubuntu/042-compiz-manager-default-plugin
@@ -1,8 +1,6 @@
-Index: ubuntu/debian/compiz-manager
-===================================================================
---- ubuntu.orig/debian/compiz-manager	2008-04-03 12:39:40.000000000 +0200
-+++ ubuntu/debian/compiz-manager	2008-04-03 12:39:48.000000000 +0200
-@@ -69,7 +69,7 @@
+--- 0-compiz.orig/debian/compiz-manager
++++ 0-compiz/debian/compiz-manager
+@@ -72,7 +72,7 @@ BLACKLIST_PCIIDS="$T"
  unset T
  
  COMPIZ_OPTIONS="--ignore-desktop-hints --replace"
diff --git a/debian/patches/ubuntu/046_compiz_manager_second_screen.patch b/debian/patches/ubuntu/046_compiz_manager_second_screen.patch
index 34e3f96..4ad6fb7 100644
--- a/debian/patches/ubuntu/046_compiz_manager_second_screen.patch
+++ b/debian/patches/ubuntu/046_compiz_manager_second_screen.patch
@@ -1,8 +1,6 @@
-Index: ubuntu/debian/compiz-manager
-===================================================================
---- ubuntu.orig/debian/compiz-manager	2008-09-16 10:04:39.000000000 +0200
-+++ ubuntu/debian/compiz-manager	2008-09-16 10:09:32.000000000 +0200
-@@ -108,6 +108,21 @@
+--- 0-compiz.orig/debian/compiz-manager
++++ 0-compiz/debian/compiz-manager
+@@ -118,6 +118,21 @@ abort_with_fallback_wm()
  	fi
  }
  
@@ -24,7 +22,7 @@ Index: ubuntu/debian/compiz-manager
  # Check for non power of two texture support
  check_npot_texture()
  {
-@@ -354,6 +369,12 @@
+@@ -389,6 +404,12 @@ if ! check_xgl; then
  		abort_with_fallback_wm
  	fi
  
diff --git a/debian/patches/ubuntu/049-damage-report-non-empty.patch b/debian/patches/ubuntu/049-damage-report-non-empty.patch
index 0850345..2c6e768 100644
--- a/debian/patches/ubuntu/049-damage-report-non-empty.patch
+++ b/debian/patches/ubuntu/049-damage-report-non-empty.patch
@@ -1,8 +1,6 @@
-Index: compiz-0.7.8/src/event.c
-===================================================================
---- compiz-0.7.8.orig/src/event.c	2008-10-13 12:34:37.000000000 -0700
-+++ compiz-0.7.8/src/event.c	2008-10-13 12:38:20.000000000 -0700
-@@ -2269,32 +2269,50 @@
+--- 0-compiz.orig/src/event.c
++++ 0-compiz/src/event.c
+@@ -2293,32 +2293,50 @@ handleEvent (CompDisplay *d,
  
  	    if (w)
  	    {
@@ -66,11 +64,9 @@ Index: compiz-0.7.8/src/event.c
  	    }
  	}
  	else if (d->shapeExtension &&
-Index: compiz-0.7.8/src/window.c
-===================================================================
---- compiz-0.7.8.orig/src/window.c	2008-10-13 12:34:37.000000000 -0700
-+++ compiz-0.7.8/src/window.c	2008-10-13 12:38:28.000000000 -0700
-@@ -2105,7 +2105,7 @@
+--- 0-compiz.orig/src/window.c
++++ 0-compiz/src/window.c
+@@ -2204,7 +2204,7 @@ addWindow (CompScreen *screen,
  	XUnionRegion (&rect, w->region, w->region);
  
  	w->damage = XDamageCreate (d->display, id,
diff --git a/debian/patches/ubuntu/050_stacking.patch b/debian/patches/ubuntu/050_stacking.patch
index b6a806f..6c41616 100644
--- a/debian/patches/ubuntu/050_stacking.patch
+++ b/debian/patches/ubuntu/050_stacking.patch
@@ -1,8 +1,6 @@
-Index: compiz-0.8.2/src/event.c
-===================================================================
---- compiz-0.8.2.orig/src/event.c	2009-04-06 14:06:44.000000000 +0200
-+++ compiz-0.8.2/src/event.c	2009-04-06 14:10:24.000000000 +0200
-@@ -2072,7 +2072,7 @@
+--- 0-compiz.orig/src/event.c
++++ 0-compiz/src/event.c
+@@ -2072,7 +2072,7 @@ handleEvent (CompDisplay *d,
  		focus = allowWindowFocus (w, NO_FOCUS_MASK,
  					  w->screen->x, w->screen->y, 0);
  

commit 70349ecb5c0172bf10b0e6497ce4a42016aff147
Author: Sean Finney <seanius@debian.org>
Date:   Sat Apr 11 11:50:28 2009 +0200

    initial review of ubuntu patches
    
    patches that were not desired are commented out in debian/series with a
    one line comment above them detailing the rationale.

diff --git a/debian/patches/series b/debian/patches/series
index c249f38..cbf980a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,3 +4,27 @@
 compiz-manager-nvidia-settings-optional.patch
 whitelist-fglrx.patch
 compiz-debian-paths.patch
+ubuntu/010-disable-child-window-clipping.patch
+ubuntu/013-add-cursor-theme-support.patch
+ubuntu/014-fix-gtk-window-decorator-no-argb-crash.patch
+ubuntu/018_use_metacity_settings.patch
+ubuntu/028_compiz_manager_blacklist
+# i don't think we want this one, it removes the auto-detection of decorators??
+#ubuntu/029_compiz_manager_decoration.patch
+# we do this already above, with a slightly better fix
+#ubuntu/029_compiz_manager_nvidia_settings.patch
+ubuntu/029_default_options
+ubuntu/030_compiz_manager_multi_display
+ubuntu/031_compiz_manager_extra_blacklist_support
+ubuntu/032_compiz_manager_add_gnomecompat
+ubuntu/033_compiz_manager_xdg_dirs
+ubuntu/035_ignore_workspaces
+ubuntu/037_fullscreen_stacking_fixes.patch
+ubuntu/042-compiz-manager-default-plugin
+ubuntu/046_compiz_manager_second_screen.patch
+ubuntu/049-damage-report-non-empty.patch
+# this patch is disabled in the ubuntu patch series as well
+#ubuntu/090_profiling
+ubuntu/050_stacking.patch
+# this patch modifies ./configure but configure.ac already has this fix
+#ubuntu/099-autogen.patch

commit fa766db55f8efd661ba97f43b8bc5716b0c5f44c
Author: Sean Finney <seanius@debian.org>
Date:   Sat Apr 11 11:48:45 2009 +0200

    massage context in ubuntu blacklist patch to apply properly

diff --git a/debian/patches/ubuntu/028_compiz_manager_blacklist b/debian/patches/ubuntu/028_compiz_manager_blacklist
index a27319a..4f8bca5 100644
--- a/debian/patches/ubuntu/028_compiz_manager_blacklist
+++ b/debian/patches/ubuntu/028_compiz_manager_blacklist
@@ -6,7 +6,7 @@ Index: compiz-0.7.8/debian/compiz-manager
  FALLBACKWM_OPTIONS="--replace $@"
  
  # Driver whitelist
--WHITELIST="nvidia intel ati radeon i810"
+-WHITELIST="fglrx nvidia intel ati radeon i810"
 +WHITELIST="nvidia intel ati radeon i810 fglrx"
  
  # blacklist based on the pci ids 

commit d3facd225077aab7b597dc399135bfbc02ee7c51
Author: Sean Finney <seanius@debian.org>
Date:   Sat Apr 11 11:47:16 2009 +0200

    modify ubuntu patches to change core.xml.in.in instead of core.xml.in
    
    the latter is automatically generated from the former.

diff --git a/debian/patches/ubuntu/013-add-cursor-theme-support.patch b/debian/patches/ubuntu/013-add-cursor-theme-support.patch
index 07f935f..448f2c8 100644
--- a/debian/patches/ubuntu/013-add-cursor-theme-support.patch
+++ b/debian/patches/ubuntu/013-add-cursor-theme-support.patch
@@ -130,10 +130,10 @@ Index: compiz-0.7.9+git20090210/gtk/window-decorator/gtk-window-decorator.c
  #elif USE_DBUS_GLIB
      DBusConnection *connection;
      DBusMessage	   *reply;
-Index: compiz-0.7.9+git20090210/metadata/core.xml.in
+Index: compiz-0.7.9+git20090210/metadata/core.xml.in.in
 ===================================================================
---- compiz-0.7.9+git20090210.orig/metadata/core.xml.in	2009-02-10 10:37:43.000000000 +0100
-+++ compiz-0.7.9+git20090210/metadata/core.xml.in	2009-02-10 10:41:02.000000000 +0100
+--- compiz-0.7.9+git20090210.orig/metadata/core.xml.in.in	2009-02-10 10:37:43.000000000 +0100
++++ compiz-0.7.9+git20090210/metadata/core.xml.in.in	2009-02-10 10:41:02.000000000 +0100
 @@ -35,6 +35,18 @@
  		<min>0</min>
  		<max>10000</max>
diff --git a/debian/patches/ubuntu/035_ignore_workspaces b/debian/patches/ubuntu/035_ignore_workspaces
index 4f6fed6..790e9a7 100644
--- a/debian/patches/ubuntu/035_ignore_workspaces
+++ b/debian/patches/ubuntu/035_ignore_workspaces
@@ -1,7 +1,7 @@
-Index: compiz-0.7.9+git20090210/metadata/core.xml.in
+Index: compiz-0.7.9+git20090210/metadata/core.xml.in.in
 ===================================================================
---- compiz-0.7.9+git20090210.orig/metadata/core.xml.in	2009-02-10 10:44:22.000000000 +0100
-+++ compiz-0.7.9+git20090210/metadata/core.xml.in	2009-02-10 10:45:46.000000000 +0100
+--- compiz-0.7.9+git20090210.orig/metadata/core.xml.in.in	2009-02-10 10:44:22.000000000 +0100
++++ compiz-0.7.9+git20090210/metadata/core.xml.in.in	2009-02-10 10:45:46.000000000 +0100
 @@ -227,7 +227,7 @@
  		    <_long>Number of virtual desktops</_long>
  		    <default>1</default>

commit f2f39b42c2fc046dd6b6d28fe761e4f10ecf99ff
Author: Sean Finney <seanius@debian.org>
Date:   Sat Apr 11 11:30:51 2009 +0200

    import of (unreviewed) ubuntu patches for 0.8.2
    
    in subsequent commits these patches will be reviewed and added to the
    debian patch series, modified if necessary, or possibly ignored if the
    patch is not wanted.  the patches will be kept in a seperate directory
    to easily keep in sync with cross-stream changes.

diff --git a/debian/patches/ubuntu/010-disable-child-window-clipping.patch b/debian/patches/ubuntu/010-disable-child-window-clipping.patch
new file mode 100644
index 0000000..04f6dc0
--- /dev/null
+++ b/debian/patches/ubuntu/010-disable-child-window-clipping.patch
@@ -0,0 +1,41 @@
+Index: compiz-0.6.99+git20071106/src/display.c
+===================================================================
+--- compiz-0.6.99+git20071106.orig/src/display.c	2007-11-06 12:10:32.000000000 -0600
++++ compiz-0.6.99+git20071106/src/display.c	2007-11-06 14:13:25.000000000 -0600
+@@ -2348,6 +2348,23 @@
+ 	lastScreen  = ScreenCount (dpy) - 1;
+     }
+ 
++    {
++	XSetWindowAttributes attr;
++	Atom atom;
++
++	attr.override_redirect = TRUE;
++	d->glIncludeInferiorsOwner =
++	    XCreateWindow (dpy, XRootWindow (dpy, 0),
++			   -100, -100, 1, 1, 0,
++			   CopyFromParent, CopyFromParent,
++			   CopyFromParent,
++			   CWOverrideRedirect,
++			   &attr);
++
++	atom = XInternAtom (dpy, "_COMPIZ_GL_INCLUDE_INFERIORS", False);
++	XSetSelectionOwner(dpy, atom, d->glIncludeInferiorsOwner, CurrentTime);
++    }
++
+     for (i = firstScreen; i <= lastScreen; i++)
+     {
+ 	Window		     newWmSnOwner = None, newCmSnOwner = None;
+Index: compiz-0.6.99+git20071106/include/compiz-core.h
+===================================================================
+--- compiz-0.6.99+git20071106.orig/include/compiz-core.h	2007-11-06 14:13:54.000000000 -0600
++++ compiz-0.6.99+git20071106/include/compiz-core.h	2007-11-06 14:14:10.000000000 -0600
+@@ -1020,6 +1020,8 @@
+ 
+     GLenum textureFilter;
+ 
++    Window glIncludeInferiorsOwner;
++
+     Window activeWindow;
+ 
+     Window below;
diff --git a/debian/patches/ubuntu/013-add-cursor-theme-support.patch b/debian/patches/ubuntu/013-add-cursor-theme-support.patch
new file mode 100644
index 0000000..07f935f
--- /dev/null
+++ b/debian/patches/ubuntu/013-add-cursor-theme-support.patch
@@ -0,0 +1,249 @@
+Index: compiz-0.7.9+git20090210/configure.ac
+===================================================================
+--- compiz-0.7.9+git20090210.orig/configure.ac	2009-02-09 15:48:57.000000000 +0100
++++ compiz-0.7.9+git20090210/configure.ac	2009-02-10 10:41:02.000000000 +0100
+@@ -123,6 +123,7 @@
+ 		 xdamage    \
+ 		 xrandr	    \
+ 		 xinerama   \
++		 xcursor    \
+ 		 ice	    \
+ 		 sm	    \
+ 		 libxml-2.0 \
+Index: compiz-0.7.9+git20090210/gtk/window-decorator/gtk-window-decorator.c
+===================================================================
+--- compiz-0.7.9+git20090210.orig/gtk/window-decorator/gtk-window-decorator.c	2009-02-09 15:48:57.000000000 +0100
++++ compiz-0.7.9+git20090210/gtk/window-decorator/gtk-window-decorator.c	2009-02-10 10:41:02.000000000 +0100
+@@ -30,6 +30,7 @@
+ #include <X11/cursorfont.h>
+ #include <X11/extensions/Xrender.h>
+ #include <X11/Xregion.h>
++#include <X11/Xcursor/Xcursor.h>
+ 
+ #ifndef GDK_DISABLE_DEPRECATED
+ #define GDK_DISABLE_DEPRECATED
+@@ -83,6 +84,14 @@
+ #include <metacity-private/theme.h>
+ #endif
+ 
++#define GNOME_MOUSE_DIR "/desktop/gnome/peripherals/mouse"
++
++#define GNOME_CURSOR_THEME_KEY		\
++    GNOME_MOUSE_DIR "/cursor_theme"
++
++#define GNOME_CURSOR_SIZE_KEY		\
++    GNOME_MOUSE_DIR "/cursor_size"
++
+ #define METACITY_GCONF_DIR "/apps/metacity/general"
+ 
+ #define COMPIZ_USE_SYSTEM_FONT_KEY		    \
+@@ -146,6 +155,13 @@
+ #define WHEEL_ACTION_KEY   \
+     GCONF_DIR "/mouse_wheel_action"
+ 
++#define COMPIZ_GCONF_DIR2 "/apps/compiz/general/allscreens/options"
++#define COMPIZ_CURSOR_THEME_KEY          \
++    COMPIZ_GCONF_DIR2 "/cursor_theme"
++
++#define COMPIZ_CURSOR_SIZE_KEY           \
++    COMPIZ_GCONF_DIR2 "/cursor_size"
++
+ #define DBUS_DEST       "org.freedesktop.compiz"
+ #define DBUS_PATH       "/org/freedesktop/compiz/decoration/allscreens"
+ #define DBUS_INTERFACE  "org.freedesktop.compiz"
+@@ -6513,6 +6529,44 @@
+     return FALSE;
+ }
+ 
++ static void
++cursor_theme_changed (GConfClient *client)
++{
++    gchar *theme;
++    gint size;
++
++    theme = gconf_client_get_string(client, GNOME_CURSOR_THEME_KEY, NULL);
++    size = gconf_client_get_int(client, GNOME_CURSOR_SIZE_KEY, NULL);
++
++    gconf_client_set_string(client, COMPIZ_CURSOR_THEME_KEY, theme, NULL);
++
++    gconf_client_set_int(client, COMPIZ_CURSOR_SIZE_KEY, size, NULL);
++
++    if (theme && strlen(theme))
++    {
++	gint i, j;
++	GdkDisplay *gdkdisplay = gdk_display_get_default ();
++	Display *xdisplay   = gdk_x11_display_get_xdisplay (gdkdisplay);
++
++
++	XcursorSetTheme (xdisplay, theme);
++	XcursorSetDefaultSize (xdisplay, size);
++
++	for (i = 0; i < 3; i++)
++	{
++	    for (j = 0; j < 3; j++)
++	    {
++		if (cursor[i][j].shape != XC_left_ptr)
++		{
++		    XFreeCursor (xdisplay, cursor[i][j].cursor);
++		    cursor[i][j].cursor =
++			XCreateFontCursor (xdisplay, cursor[i][j].shape);
++		}
++	    }
++	}
++    }
++}
++
+ static void
+ value_changed (GConfClient *client,
+ 	       const gchar *key,
+@@ -6591,6 +6645,11 @@
+ 	if (theme_opacity_changed (client))
+ 	    changed = TRUE;
+     }
++    else if (strcmp (key, GNOME_CURSOR_THEME_KEY) == 0 ||
++	     strcmp (key, GNOME_CURSOR_SIZE_KEY) == 0)
++    {
++	cursor_theme_changed (client);
++    }
+ 
+     if (changed)
+ 	decorations_changed (data);
+@@ -6754,6 +6813,11 @@
+ 			  NULL);
+ 
+     gconf_client_add_dir (gconf,
++			  GNOME_MOUSE_DIR,
++			  GCONF_CLIENT_PRELOAD_ONELEVEL,
++			  NULL);
++
++    gconf_client_add_dir (gconf,
+ 			  COMPIZ_GCONF_DIR1,
+ 			  GCONF_CLIENT_PRELOAD_ONELEVEL,
+ 			  NULL);
+@@ -6762,6 +6826,9 @@
+ 		      "value_changed",
+ 		      G_CALLBACK (value_changed),
+ 		      screen);
++
++    cursor_theme_changed(gconf);
++
+ #elif USE_DBUS_GLIB
+     DBusConnection *connection;
+     DBusMessage	   *reply;
+Index: compiz-0.7.9+git20090210/metadata/core.xml.in
+===================================================================
+--- compiz-0.7.9+git20090210.orig/metadata/core.xml.in	2009-02-10 10:37:43.000000000 +0100
++++ compiz-0.7.9+git20090210/metadata/core.xml.in	2009-02-10 10:41:02.000000000 +0100
+@@ -35,6 +35,18 @@
+ 		<min>0</min>
+ 		<max>10000</max>
+ 	    </option>
++	    <option name="cursor_theme" type="string">
++		<_short>Cursor theme</_short>
++		<_long>Cursor theme name</_long>
++		<default></default>
++	    </option>
++	    <option name="cursor_size" type="int">
++		<_short>Cursor size</_short>
++		<_long>Size of the cursor</_long>
++		<default>18</default>
++		<min>8</min>
++		<max>128</max>
++	    </option>
+ 	    <option name="ping_delay" type="int">
+ 		<_short>Ping Delay</_short>
+ 		<_long>Interval between ping messages</_long>
+Index: compiz-0.7.9+git20090210/src/display.c
+===================================================================
+--- compiz-0.7.9+git20090210.orig/src/display.c	2009-02-10 10:40:33.000000000 +0100
++++ compiz-0.7.9+git20090210/src/display.c	2009-02-10 10:41:02.000000000 +0100
+@@ -41,6 +41,8 @@
+ #include <X11/extensions/Xcomposite.h>
+ #include <X11/extensions/Xrandr.h>
+ #include <X11/extensions/shape.h>
++#include <X11/Xcursor/Xcursor.h>
++#include <X11/cursorfont.h>
+ 
+ #include <compiz-core.h>
+ 
+@@ -474,6 +476,32 @@
+     return TRUE;
+ }
+ 
++static void
++compDisplaySetCursorTheme (CompDisplay *display)
++{
++    char *theme = display->opt[COMP_DISPLAY_OPTION_CURSOR_THEME].value.s;
++    int size = display->opt[COMP_DISPLAY_OPTION_CURSOR_SIZE].value.i;
++
++    if (theme && strlen(theme))
++    {
++	CompScreen *s;
++
++	XcursorSetTheme (display->display, theme);
++	XcursorSetDefaultSize (display->display, size);
++	for (s = display->screens; s; s = s->next)
++	{
++	    XFreeCursor (display->display, s->normalCursor);
++	    s->busyCursor = XCreateFontCursor (display->display, XC_watch);
++	    XFlush (display->display);
++
++	    XFreeCursor (display->display, s->normalCursor);
++	    s->normalCursor = XCreateFontCursor (display->display, XC_left_ptr);
++	    XDefineCursor (display->display, s->root, s->normalCursor);
++	    XFlush (display->display);
++	}
++    }
++}
++
+ const CompMetadataOptionInfo coreDisplayOptionInfo[COMP_DISPLAY_OPTION_NUM] = {
+     { "abi", "int", 0, 0, 0 },
+     { "active_plugins", "list", "<type>string</type>", 0, 0 },
+@@ -510,7 +538,9 @@
+     { "toggle_window_shaded_key", "key", 0, shade, 0 },
+     { "ignore_hints_when_maximized", "bool", 0, 0, 0 },
+     { "ping_delay", "int", "<min>1000</min>", 0, 0 },
+-    { "edge_delay", "int", "<min>0</min>", 0, 0 }
++    { "edge_delay", "int", "<min>0</min>", 0, 0 },
++    { "cursor_theme", "string", 0, 0, 0 },
++    { "cursor_size", "int", 0, 0, 0 }
+ };
+ 
+ CompOption *
+@@ -661,6 +691,20 @@
+ 	    return TRUE;
+ 	}
+ 	break;
++    case COMP_DISPLAY_OPTION_CURSOR_THEME:
++	if (compSetStringOption(o, value))
++	{
++	    compDisplaySetCursorTheme(display);
++	    return TRUE;
++	}
++	break;
++    case COMP_DISPLAY_OPTION_CURSOR_SIZE:
++	if (compSetIntOption(o, value))
++	{
++	    compDisplaySetCursorTheme(display);
++	    return TRUE;
++	}
++	break;
+     default:
+ 	if (compSetDisplayOption (display, o, value))
+ 	    return TRUE;
+Index: compiz-0.7.9+git20090210/include/compiz-core.h
+===================================================================
+--- compiz-0.7.9+git20090210.orig/include/compiz-core.h	2009-02-10 10:40:33.000000000 +0100
++++ compiz-0.7.9+git20090210/include/compiz-core.h	2009-02-10 10:42:03.000000000 +0100
+@@ -772,7 +772,10 @@
+ #define COMP_DISPLAY_OPTION_IGNORE_HINTS_WHEN_MAXIMIZED      31
+ #define COMP_DISPLAY_OPTION_PING_DELAY			     32
+ #define COMP_DISPLAY_OPTION_EDGE_DELAY                       33
+-#define COMP_DISPLAY_OPTION_NUM				     34
++#define COMP_DISPLAY_OPTION_CURSOR_THEME                     34
++#define COMP_DISPLAY_OPTION_CURSOR_SIZE                      35
++#define COMP_DISPLAY_OPTION_NUM				     36
++
+ 
+ typedef void (*HandleEventProc) (CompDisplay *display,
+ 				 XEvent	     *event);
diff --git a/debian/patches/ubuntu/014-fix-gtk-window-decorator-no-argb-crash.patch b/debian/patches/ubuntu/014-fix-gtk-window-decorator-no-argb-crash.patch
new file mode 100644
index 0000000..d3b60b2
--- /dev/null
+++ b/debian/patches/ubuntu/014-fix-gtk-window-decorator-no-argb-crash.patch
@@ -0,0 +1,44 @@
+Index: compiz-0.6.99+git20071106/gtk/window-decorator/gtk-window-decorator.c
+===================================================================
+--- compiz-0.6.99+git20071106.orig/gtk/window-decorator/gtk-window-decorator.c	2007-11-06 11:16:56.000000000 -0600
++++ compiz-0.6.99+git20071106/gtk/window-decorator/gtk-window-decorator.c	2007-11-06 11:18:24.000000000 -0600
+@@ -1956,10 +1956,8 @@


Reply to: