[compiz] add compiz_matewnck_corrections.patch

Wolfgang Ulbrich raveit65 at fedoraproject.org
Wed Apr 24 12:15:55 UTC 2013


commit 68cb4375d7941d5cf18d5638d6c81a51b263dc05
Author: raveit <chat-to-me at raveit.de>
Date:   Wed Apr 24 14:15:45 2013 +0200

    add compiz_matewnck_corrections.patch

 compiz_matewnck_corrections.patch |  404 +++++++++++++++++++++++++++++++++++++
 1 files changed, 404 insertions(+), 0 deletions(-)
---
diff --git a/compiz_matewnck_corrections.patch b/compiz_matewnck_corrections.patch
new file mode 100644
index 0000000..91fe580
--- /dev/null
+++ b/compiz_matewnck_corrections.patch
@@ -0,0 +1,404 @@
+diff -uprN compiz-0.8.8-orig/configure.ac compiz-0.8.8/configure.ac
+--- compiz-0.8.8-orig/configure.ac	2013-04-19 10:34:23.593756000 +0200
++++ compiz-0.8.8/configure.ac	2013-04-19 10:36:57.465302146 +0200
+@@ -243,20 +243,6 @@ if test "x$use_gtk" = "xyes"; then
+ 		    pangocairo,
+ 		    [use_gtk=yes], [use_gtk=no])
+   if test "x$use_gtk" = "xyes"; then
+-    save_CFLAGS="$CFLAGS"
+-    save_LIBS="$LIBS"
+-    CFLAGS="$CFLAGS $GTK_WINDOW_DECORATOR_CFLAGS"
+-    LIBS="$LIBS $GTK_WINDOW_DECORATOR_LIBS"
+-    AC_CHECK_FUNCS(matewnck_window_has_name)
+-    CFLAGS="$save_CFLAGS"
+-    LIBS="$save_LIBS"
+-
+-    PKG_CHECK_EXISTS(libmatewnck-1.0 >= 2.18.1,
+-		     [have_libmatewnck_2_18_1=yes], [have_libmatewnck_2_18_1=no])
+-
+-	PKG_CHECK_EXISTS(libmatewnck-1.0 >= 2.19.4,
+-		     [have_libmatewnck_2_19_4=yes], [have_libmatewnck_2_19_4=no])
+-
+     if test "x$use_marco" = "xyes"; then
+       PKG_CHECK_MODULES(MARCO, libmarco-private,
+ 			[use_marco=yes], [use_marco=no])
+@@ -273,14 +259,6 @@ fi
+ AM_CONDITIONAL(USE_GTK, test "x$use_gtk" = "xyes")
+ if test "$use_gtk" = yes; then
+   AC_DEFINE(USE_GTK, 1, [Build gtk window decorator])
+-  if test "$have_libmatewnck_2_18_1" = yes; then
+-    AC_DEFINE(HAVE_LIBMATEWNCK_2_18_1, 1,
+-	      [Define to 1 if libmatewnck version >= 2_18_1])
+-  fi
+-  if test "$have_libmatewnck_2_19_4" = yes; then
+-    AC_DEFINE(HAVE_LIBMATEWNCK_2_19_4, 1,
+-	      [Define to 1 if libmatewnck version >= 2_19_4])
+-  fi
+ fi
+ 
+ AM_CONDITIONAL(USE_MARCO, test "x$use_marco" = "xyes")
+diff -uprN compiz-0.8.8-orig/gtk/window-decorator/gtk-window-decorator.c compiz-0.8.8/gtk/window-decorator/gtk-window-decorator.c
+--- compiz-0.8.8-orig/gtk/window-decorator/gtk-window-decorator.c	2013-04-19 10:34:23.596756000 +0200
++++ compiz-0.8.8/gtk/window-decorator/gtk-window-decorator.c	2013-04-19 10:54:42.299020150 +0200
+@@ -36,14 +36,9 @@
+ #include <gdk/gdkx.h>
+ #include <glib/gi18n.h>
+ 
+-#define MATEWNCK_I_KNOW_THIS_IS_UNSTABLE
+ #include <libmatewnck/libmatewnck.h>
+ #include <libmatewnck/window-action-menu.h>
+ 
+-#ifndef HAVE_LIBMATEWNCK_2_19_4
+-#define matewnck_window_get_client_window_geometry matewnck_window_get_geometry
+-#endif
+-
+ #include <cairo.h>
+ #include <cairo-xlib.h>
+ 
+@@ -3068,21 +3056,11 @@ update_event_windows (MatewnckWindow *wi
+ 	    MATEWNCK_WINDOW_ACTION_MINIMIZE,
+ 	    0,
+ 	    MATEWNCK_WINDOW_ACTION_SHADE,
+-
+-#ifdef HAVE_LIBMATEWNCK_2_18_1
+ 	    MATEWNCK_WINDOW_ACTION_ABOVE,
+ 	    MATEWNCK_WINDOW_ACTION_STICK,
+ 	    MATEWNCK_WINDOW_ACTION_UNSHADE,
+ 	    MATEWNCK_WINDOW_ACTION_ABOVE,
+ 	    MATEWNCK_WINDOW_ACTION_UNSTICK
+-#else
+-	    0,
+-	    0,
+-	    0,
+-	    0,
+-	    0
+-#endif
+-
+ 	};
+ 
+ 	if (button_actions[i] && !(actions & button_actions[i]))
+@@ -3106,14 +3084,11 @@ update_event_windows (MatewnckWindow *wi
+     gdk_error_trap_pop ();
+ }
+ 
+-#ifdef HAVE_MATEWNCK_WINDOW_HAS_NAME
+ static const char *
+-matewnck_window_get_real_name (MatewnckWindow *win)
++wnck_window_get_real_name (MatewnckWindow *win)
+ {
+     return matewnck_window_has_name (win) ? matewnck_window_get_name (win) : NULL;
+ }
+-#define matewnck_window_get_name matewnck_window_get_real_name
+-#endif
+ 
+ static gint
+ max_window_name_width (MatewnckWindow *win)
+@@ -3131,7 +3106,7 @@ max_window_name_width (MatewnckWindow *w
+ 	pango_layout_set_wrap (d->layout, PANGO_WRAP_CHAR);
+     }
+ 
+-    name = matewnck_window_get_name (win);
++    name = wnck_window_get_real_name (win);
+     if (!name)
+ 	return 0;
+ 
+@@ -3160,7 +3135,7 @@ update_window_decoration_name (MatewnckW
+ 	d->name = NULL;
+     }
+ 
+-    name = matewnck_window_get_name (win);
++    name = wnck_window_get_real_name (win);
+     if (name && (name_length = strlen (name)))
+     {
+ 	gint w;
+@@ -3603,7 +3578,7 @@ update_switcher_window (MatewnckWindow *
+ 	    d->name = NULL;
+ 	}
+ 
+-	name = matewnck_window_get_name (selected_win);
++	name = wnck_window_get_real_name (selected_win);
+ 	if (name && (name_length = strlen (name)))
+ 	{
+ 	    if (!d->layout)
+@@ -4478,11 +4453,6 @@ action_menu_map (MatewnckWindow *win,
+ 	return;
+     case MATEWNCK_WINDOW_NORMAL:
+     case MATEWNCK_WINDOW_DIALOG:
+-
+-#ifndef HAVE_LIBMATEWNCK_2_19_4
+-    case MATEWNCK_WINDOW_MODAL_DIALOG:
+-#endif
+-
+     case MATEWNCK_WINDOW_TOOLBAR:
+     case MATEWNCK_WINDOW_MENU:
+     case MATEWNCK_WINDOW_UTILITY:
+@@ -4572,11 +4542,6 @@ above_button_event (MatewnckWindow *win,
+ 	{
+ 	    if (state == BUTTON_EVENT_ACTION_STATE)
+ 	    {
+-
+-#ifdef HAVE_LIBMATEWNCK_2_18_1
+-		matewnck_window_make_above (win);
+-#endif
+-
+ 	    }
+ 	}
+ 	break;
+@@ -4638,11 +4603,7 @@ unabove_button_event (MatewnckWindow *wi
+ 	{
+ 	    if (state == BUTTON_EVENT_ACTION_STATE)
+ 	    {
+-
+-#ifdef HAVE_LIBMATEWNCK_2_18_1
+ 		matewnck_window_unmake_above (win);
+-#endif
+-
+ 	    }
+ 	}
+ 	break;
+@@ -5006,7 +4967,7 @@ show_force_quit_dialog (MatewnckWindow *
+     if (d->force_quit_dialog)
+ 	return;
+ 
+-    tmp = g_markup_escape_text (matewnck_window_get_name (win), -1);
++    tmp = g_markup_escape_text (wnck_window_get_real_name (win), -1);
+     str = g_strdup_printf (_("The window \"%s\" is not responding."), tmp);
+ 
+     g_free (tmp);
+@@ -6534,139 +6495,6 @@ value_changed (MateConfClient *client,
+     if (changed)
+ 	decorations_changed (data);
+ }
+-
+-#elif USE_DBUS_GLIB
+-
+-static DBusHandlerResult
+-dbus_handle_message (DBusConnection *connection,
+-		     DBusMessage    *message,
+-		     void           *user_data)
+-{
+-    MatewnckScreen	      *screen = user_data;
+-    char	      **path;
+-    const char        *interface, *member;
+-    DBusHandlerResult result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+-
+-    interface = dbus_message_get_interface (message);
+-    member    = dbus_message_get_member (message);
+-
+-    (void) connection;
+-
+-    if (!interface || !member)
+-	return result;
+-
+-    if (!dbus_message_is_signal (message, interface, member))
+-	return result;
+-
+-    if (strcmp (member, "changed"))
+-	return result;
+-
+-    if (!dbus_message_get_path_decomposed (message, &path))
+-	return result;
+-
+-    if (!path[0] || !path[1] || !path[2] || !path[3] || !path[4] || !path[5])
+-    {
+-	dbus_free_string_array (path);
+-	return result;
+-    }
+-
+-    if (!strcmp (path[0], "org")	 &&
+-	!strcmp (path[1], "freedesktop") &&
+-	!strcmp (path[2], "compiz")      &&
+-	!strcmp (path[3], "decoration")  &&
+-	!strcmp (path[4], "allscreens"))
+-    {
+-	result = DBUS_HANDLER_RESULT_HANDLED;
+-
+-	if (strcmp (path[5], "shadow_radius") == 0)
+-	{
+-	    dbus_message_get_args (message, NULL,
+-				   DBUS_TYPE_DOUBLE, &shadow_radius,
+-				   DBUS_TYPE_INVALID);
+-	}
+-	else if (strcmp (path[5], "shadow_opacity") == 0)
+-	{
+-	    dbus_message_get_args (message, NULL,
+-				   DBUS_TYPE_DOUBLE, &shadow_opacity,
+-				   DBUS_TYPE_INVALID);
+-	}
+-	else if (strcmp (path[5], "shadow_color") == 0)
+-	{
+-	    DBusError error;
+-	    char      *str;
+-
+-	    dbus_error_init (&error);
+-
+-	    dbus_message_get_args (message, &error,
+-				   DBUS_TYPE_STRING, &str,
+-				   DBUS_TYPE_INVALID);
+-
+-	    if (!dbus_error_is_set (&error))
+-	    {
+-		int c[4];
+-
+-		if (sscanf (str, "#%2x%2x%2x%2x",
+-			    &c[0], &c[1], &c[2], &c[3]) == 4)
+-		{
+-		    shadow_color[0] = c[0] << 8 | c[0];
+-		    shadow_color[1] = c[1] << 8 | c[1];
+-		    shadow_color[2] = c[2] << 8 | c[2];
+-		}
+-	    }
+-
+-	    dbus_error_free (&error);
+-	}
+-	else if (strcmp (path[5], "shadow_x_offset") == 0)
+-	{
+-	    dbus_message_get_args (message, NULL,
+-				   DBUS_TYPE_INT32, &shadow_offset_x,
+-				   DBUS_TYPE_INVALID);
+-	}
+-	else if (strcmp (path[5], "shadow_y_offset") == 0)
+-	{
+-	    dbus_message_get_args (message, NULL,
+-				   DBUS_TYPE_INT32, &shadow_offset_y,
+-				   DBUS_TYPE_INVALID);
+-	}
+-
+-	decorations_changed (screen);
+-    }
+-
+-    dbus_free_string_array (path);
+-
+-    return result;
+-}
+-
+-static DBusMessage *
+-send_and_block_for_shadow_option_reply (DBusConnection *connection,
+-					char	       *path)
+-{
+-    DBusMessage *message;
+-
+-    message = dbus_message_new_method_call (NULL,
+-					    path,
+-					    DBUS_INTERFACE,
+-					    DBUS_METHOD_GET);
+-    if (message)
+-    {
+-	DBusMessage *reply;
+-	DBusError   error;
+-
+-	dbus_message_set_destination (message, DBUS_DEST);
+-
+-	dbus_error_init (&error);
+-	reply = dbus_connection_send_with_reply_and_block (connection,
+-							   message, -1,
+-							   &error);
+-	dbus_message_unref (message);
+-
+-	if (!dbus_error_is_set (&error))
+-	    return reply;
+-    }
+-
+-    return NULL;
+-}
+-
+ #endif
+ 
+ static gboolean
+@@ -6708,96 +6536,6 @@ init_settings (MatewnckScreen *screen)
+ 		      screen);
+ 
+     cursor_theme_changed(mateconf);
+-
+-#elif USE_DBUS_GLIB
+-    DBusConnection *connection;
+-    DBusMessage	   *reply;
+-    DBusError	   error;
+-
+-    dbus_error_init (&error);
+-
+-    connection = dbus_bus_get (DBUS_BUS_SESSION, &error);
+-    if (!dbus_error_is_set (&error))
+-    {
+-	dbus_bus_add_match (connection, "type='signal'", &error);
+-
+-	dbus_connection_add_filter (connection,
+-				    dbus_handle_message,
+-				    screen, NULL);
+-
+-	dbus_connection_setup_with_g_main (connection, NULL);
+-    }
+-
+-    reply = send_and_block_for_shadow_option_reply (connection, DBUS_PATH
+-						    "/shadow_radius");
+-    if (reply)
+-    {
+-	dbus_message_get_args (reply, NULL,
+-			       DBUS_TYPE_DOUBLE, &shadow_radius,
+-			       DBUS_TYPE_INVALID);
+-
+-	dbus_message_unref (reply);
+-    }
+-
+-    reply = send_and_block_for_shadow_option_reply (connection, DBUS_PATH
+-						    "/shadow_opacity");
+-    if (reply)
+-    {
+-	dbus_message_get_args (reply, NULL,
+-			       DBUS_TYPE_DOUBLE, &shadow_opacity,
+-			       DBUS_TYPE_INVALID);
+-	dbus_message_unref (reply);
+-    }
+-
+-    reply = send_and_block_for_shadow_option_reply (connection, DBUS_PATH
+-						    "/shadow_color");
+-    if (reply)
+-    {
+-	DBusError error;
+-	char      *str;
+-
+-	dbus_error_init (&error);
+-
+-	dbus_message_get_args (reply, &error,
+-			       DBUS_TYPE_STRING, &str,
+-			       DBUS_TYPE_INVALID);
+-
+-	if (!dbus_error_is_set (&error))
+-	{
+-	    int c[4];
+-
+-	    if (sscanf (str, "#%2x%2x%2x%2x", &c[0], &c[1], &c[2], &c[3]) == 4)
+-	    {
+-		shadow_color[0] = c[0] << 8 | c[0];
+-		shadow_color[1] = c[1] << 8 | c[1];
+-		shadow_color[2] = c[2] << 8 | c[2];
+-	    }
+-	}
+-
+-	dbus_error_free (&error);
+-
+-	dbus_message_unref (reply);
+-    }
+-
+-    reply = send_and_block_for_shadow_option_reply (connection, DBUS_PATH
+-						    "/shadow_x_offset");
+-    if (reply)
+-    {
+-	dbus_message_get_args (reply, NULL,
+-			       DBUS_TYPE_INT32, &shadow_offset_x,
+-			       DBUS_TYPE_INVALID);
+-	dbus_message_unref (reply);
+-    }
+-
+-    reply = send_and_block_for_shadow_option_reply (connection, DBUS_PATH
+-						    "/shadow_y_offset");
+-    if (reply)
+-    {
+-	dbus_message_get_args (reply, NULL,
+-			       DBUS_TYPE_INT32, &shadow_offset_y,
+-			       DBUS_TYPE_INVALID);
+-	dbus_message_unref (reply);
+-    }
+ #endif
+ 
+     style_window = gtk_window_new (GTK_WINDOW_POPUP);


More information about the scm-commits mailing list