rpms/compizconfig-backend-gconf/devel compizconfig-backend-gconf-74c3fd404f0879b5d36c1167d0b43986d949fad4.patch, NONE, 1.1 compizconfig-backend-gconf.spec, 1.13, 1.14

Leigh Scott leigh123linux at fedoraproject.org
Wed May 5 11:01:43 UTC 2010


Author: leigh123linux

Update of /cvs/pkgs/rpms/compizconfig-backend-gconf/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv17390

Modified Files:
	compizconfig-backend-gconf.spec 
Added Files:
	compizconfig-backend-gconf-74c3fd404f0879b5d36c1167d0b43986d949fad4.patch 
Log Message:
* Wed May 05 2010 Leigh Scott <leigh123linux at googlemail.com> - 0.8.4-2
- add patch to integrate metacity's resize_with_right_button option


compizconfig-backend-gconf-74c3fd404f0879b5d36c1167d0b43986d949fad4.patch:
 gconf.c |   76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 67 insertions(+), 9 deletions(-)

--- NEW FILE compizconfig-backend-gconf-74c3fd404f0879b5d36c1167d0b43986d949fad4.patch ---
From: Guido Iribarren <guidoweb at guidoi.com.ar>
Date: Mon, 3 May 2010 16:12:37 +0000 (+0200)
Subject: Integrate metacity's resize_with_right_button option.
X-Git-Url: http://gitweb.compiz.org/?p=fusion%2Fcompizconfig%2Fcompizconfig-backend-gconf;a=commitdiff_plain;h=74c3fd404f0879b5d36c1167d0b43986d949fad4

Integrate metacity's resize_with_right_button option.
---

diff --git a/settings-backend/gconf.c b/settings-backend/gconf.c
index 6a1d30a..48480e4 100644
--- a/settings-backend/gconf.c
+++ b/settings-backend/gconf.c
@@ -166,6 +166,9 @@ const SpecialOption specialOptions[] = {
      METACITY "/window_keybindings/activate_window_menu", OptionSpecial},
     {"mouse_button_modifier", NULL, FALSE,
      METACITY "/general/mouse_button_modifier", OptionSpecial},
+    /* integration of the Metacity's option to swap mouse buttons */
+    {"resize_with_right_button", NULL, FALSE,
+     METACITY "/general/resize_with_right_button", OptionSpecial},
 
     {"visual_bell", "fade", TRUE,
      METACITY "/general/visual_bell", OptionBool},
@@ -381,8 +384,8 @@ const SpecialOption specialOptions[] = {
 
 static CCSSetting *
 findDisplaySettingForPlugin (CCSContext *context,
-			     char       *plugin,
-			     char       *setting)
+			     const char *plugin,
+			     const char *setting)
 {
     CCSPlugin  *p;
     CCSSetting *s;
@@ -544,8 +547,10 @@ gnomeValueChanged (GConfClient *client,
 	if (num < 0)
 	    break;
 
-	if (strcmp (specialOptions[num].settingName,
-		    "mouse_button_modifier") == 0)
+	if ((strcmp (specialOptions[num].settingName,
+		     "mouse_button_modifier") == 0) ||
+	    (strcmp (specialOptions[num].settingName,
+		    "resize_with_right_button") == 0))
 	{
 	    CCSSetting *s;
 
@@ -955,6 +960,24 @@ getGnomeMouseButtonModifier(void)
     return modMask;
 }
 
+static unsigned int
+getButtonBindingForSetting (CCSContext   *context,
+			    const char   *plugin,
+			    const char   *setting)
+{
+    CCSSetting *s;
+
+    s = findDisplaySettingForPlugin (context, plugin, setting);
+    if (!s)
+	return 0;
+
+    if (s->type != TypeButton)
+	return 0;
+
+    return s->value->value.asButton.button;
+}
+
+
 static Bool
 readIntegratedOption (CCSContext *context,
 		      CCSSetting *setting,
@@ -1086,15 +1109,23 @@ readIntegratedOption (CCSContext *context,
 		      ((strcmp (settingName, "window_menu_button") == 0) &&
 		       (strcmp (pluginName, "core") == 0)))
 	    {
+		gboolean              resizeWithRightButton;
 		CCSSettingButtonValue button;
+
 		memset (&button, 0, sizeof (CCSSettingButtonValue));
 		ccsGetButton (setting, &button);
 
 		button.buttonModMask = getGnomeMouseButtonModifier ();
+		
+		resizeWithRightButton =
+		    gconf_client_get_bool (client, METACITY
+					   "/general/resize_with_right_button",
+					   &err);
+
 		if (strcmp (settingName, "window_menu_button") == 0)
-		    button.button = 3;
+		    button.button = resizeWithRightButton ? 2 : 3;
 		else if (strcmp (pluginName, "resize") == 0)
-		    button.button = 2;
+		    button.button = resizeWithRightButton ? 3 : 2;
 		else
 		    button.button = 1;
 
@@ -1453,7 +1484,7 @@ setButtonBindingForSetting (CCSContext   *context,
     CCSSetting            *s;
     CCSSettingButtonValue value;
 
-    s = findDisplaySettingForPlugin (context, (char*) plugin, (char*) setting);
+    s = findDisplaySettingForPlugin (context, plugin, setting);
     if (!s)
 	return;
 
@@ -1611,6 +1642,30 @@ writeIntegratedOption (CCSContext *context,
 		       (strcmp (pluginName, "core") == 0)))
 	    {
 		unsigned int modMask;
+		Bool         resizeWithRightButton = FALSE;
+		gboolean     currentValue;
+
+		if ((getButtonBindingForSetting (context, "resize",
+						 "initiate_button") == 3) ||
+		    (getButtonBindingForSetting (context, "core",
+						 "window_menu_button") == 2))
+		{
+		     resizeWithRightButton = TRUE;
+		}
+
+		currentValue =
+		    gconf_client_get_bool (client, METACITY
+					   "/general/resize_with_right_button",
+					   &err);
+
+		if (!err && ((currentValue && !resizeWithRightButton) ||
+			     (!currentValue && resizeWithRightButton)))
+		{
+		    gconf_client_set_bool (client,
+					   METACITY
+					   "/general/resize_with_right_button",
+					   resizeWithRightButton, NULL);
+		}
 
 		modMask = setting->value->value.asButton.buttonModMask;
 		if (setGnomeMouseButtonModifier (modMask))
@@ -1618,10 +1673,13 @@ writeIntegratedOption (CCSContext *context,
 		    setButtonBindingForSetting (context, "move",
 						"initiate_button", 1, modMask);
 		    setButtonBindingForSetting (context, "resize",
-						"initiate_button", 2, modMask);
+						"initiate_button", 
+						resizeWithRightButton ? 3 : 2,
+						modMask);
 		    setButtonBindingForSetting (context, "core",
 						"window_menu_button",
-						3, modMask);
+						resizeWithRightButton ? 2 : 3,
+						modMask);
 		}
 	    }
 	}


Index: compizconfig-backend-gconf.spec
===================================================================
RCS file: /cvs/pkgs/rpms/compizconfig-backend-gconf/devel/compizconfig-backend-gconf.spec,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -p -r1.13 -r1.14
--- compizconfig-backend-gconf.spec	16 Jan 2010 23:30:27 -0000	1.13
+++ compizconfig-backend-gconf.spec	5 May 2010 11:01:43 -0000	1.14
@@ -2,7 +2,7 @@
 
 Name:           compizconfig-backend-gconf
 Version:        0.8.4
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        GConf backend for compizconfig
 
 Group:          System Environment/Libraries
@@ -16,6 +16,9 @@ BuildRequires:  intltool, libtool
 # backend-gconf requires the gconf schemas from compiz-gnome to work
 Requires:       compiz-gnome >= %{basever}
 
+#upstream patches
+#http://gitweb.compiz.org/?p=fusion/compizconfig/compizconfig-backend-gconf;a=commit;h=74c3fd404f0879b5d36c1167d0b43986d949fad4
+Patch0:         compizconfig-backend-gconf-74c3fd404f0879b5d36c1167d0b43986d949fad4.patch
 
 # libdrm is not available on these arches
 ExcludeArch:    s390 s390x ppc64 
@@ -30,7 +33,7 @@ This package contains the Gconf backend 
 
 %prep
 %setup -q
-
+%patch0 -p1
 
 %build
 %configure --disable-static
@@ -51,6 +54,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/compizconfig/backends/libgconf.so
 
 %changelog
+* Wed May 05 2010 Leigh Scott <leigh123linux at googlemail.com> - 0.8.4-2
+- add patch to integrate metacity's resize_with_right_button option
+
 * Sat Jan 16 2010 Leigh Scott <leigh123linux at googlemail.com> - 0.8.4-1
 - Update to 0.8.4
 - drop upstream patch



More information about the scm-commits mailing list