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

compizconfig-backend-gconf: Changes to 'upstream-unstable'



 VERSION                  |    2 
 configure.ac             |    2 
 settings-backend/gconf.c |  903 +++++++++++++++++++----------------------------
 3 files changed, 369 insertions(+), 538 deletions(-)

New commits:
commit eab7857a661fe71331266688ecd6523d9210bfe3
Author: Guillaume Seguin <guillaume@segu.in>
Date:   Fri Apr 4 00:17:25 2008 +0200

    * Bump version to 0.7.4

diff --git a/VERSION b/VERSION
index a48124b..8eafcce 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-VERSION=0.7.3
+VERSION=0.7.4

commit 9eb664c9e44695105dab379d514b20c71f9db637
Author: Guillaume Seguin <guillaume@segu.in>
Date:   Thu Mar 6 22:46:37 2008 +0100

    * Bump version to 0.7.3

diff --git a/VERSION b/VERSION
index 70d11ae..a48124b 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-VERSION=0.7.2
+VERSION=0.7.3

commit 30a7e4000fc7640ffc99c6e2778163488b1a2d1f
Author: Guillaume Seguin <guillaume@segu.in>
Date:   Thu Mar 6 22:46:36 2008 +0100

    * Bump version to 0.7.2

diff --git a/VERSION b/VERSION
index 58d3865..70d11ae 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-VERSION=0.6.99
+VERSION=0.7.2

commit 567e48816362ef9c50029791dec024d31b85ca09
Author: Danny Baumann <dannybaumann@web.de>
Date:   Sun Feb 10 12:51:03 2008 +0100

    Fix move, resize & window menu initiate binding integration.

diff --git a/settings-backend/gconf.c b/settings-backend/gconf.c
index 311d113..e837147 100644
--- a/settings-backend/gconf.c
+++ b/settings-backend/gconf.c
@@ -150,13 +150,20 @@ const SpecialOption specialOptions[] = {
     {"show_desktop_key", "core", FALSE,
      METACITY "/global_keybindings/show_desktop", OptionKey},
 
+    {"initiate_key", "move", FALSE,
+     METACITY "/window_keybindings/begin_move", OptionKey},
+    {"initiate_key", "resize", FALSE,
+     METACITY "/window_keybindings/begin_resize", OptionKey},
+    {"window_menu_key", "core", FALSE,
+     METACITY "/window_keybindings/activate_window_menu", OptionKey},
+
+    /* integration of Metacity's mouse_button_modifier option */
     {"initiate_button", "move", FALSE,
      METACITY "/window_keybindings/begin_move", OptionSpecial},
     {"initiate_button", "resize", FALSE,
      METACITY "/window_keybindings/begin_resize", OptionSpecial},
     {"window_menu_button", "core", FALSE,
      METACITY "/window_keybindings/activate_window_menu", OptionSpecial},
-    /* this option does not exist in Compiz */
     {"mouse_button_modifier", NULL, FALSE,
      METACITY "/general/mouse_button_modifier", OptionSpecial},
 
@@ -1087,33 +1094,20 @@ readIntegratedOption (CCSContext *context,
 		      ((strcmp (settingName, "window_menu_button") == 0) &&
 		       (strcmp (pluginName, "core") == 0)))
 	    {
-		if (gconfValue->type == GCONF_VALUE_STRING)
-		{
-		    const char *value;
-
-		    value = gconf_value_get_string (gconfValue);
+		CCSSettingButtonValue button;
+		memset (&button, 0, sizeof (CCSSettingButtonValue));
+		ccsGetButton (setting, &button);
+
+		button.buttonModMask = getGnomeMouseButtonModifier ();
+		if (strcmp (settingName, "window_menu_button") == 0)
+		    button.button = 3;
+		else if (strcmp (pluginName, "resize") == 0)
+		    button.button = 2;
+		else
+		    button.button = 1;
 
-		    if (value)
-		    {
-			CCSSettingButtonValue button;
-			memset (&button, 0, sizeof (CCSSettingButtonValue));
-			ccsGetButton (setting, &button);
-			if (ccsStringToButtonBinding (value, &button))
-			{
-			    button.buttonModMask =
-				getGnomeMouseButtonModifier ();
-			    if (strcmp (settingName, "window_menu_button") == 0)
-				button.button = 3;
-			    else if (strcmp (pluginName, "resize") == 0)
-				button.button = 2;
-			    else
-				button.button = 1;
-
-			    ccsSetButton (setting, button);
-			    ret = TRUE;
-			}
-		    }
-		}
+		ccsSetButton (setting, button);
+		ret = TRUE;
 	    }
 	}
      	break;
@@ -1625,28 +1619,9 @@ writeIntegratedOption (CCSContext *context,
 		      ((strcmp (settingName, "window_menu_button") == 0) &&
 		       (strcmp (pluginName, "core") == 0)))
 	    {
-		char         *newValue;
-		gchar        *currentValue;
 		unsigned int modMask;
 
 		modMask = setting->value->value.asButton.buttonModMask;
-		newValue =
-		    ccsButtonBindingToString (&setting->value->value.asButton);
-		if (newValue)
-		{
-		    currentValue = gconf_client_get_string(client,
-							   optionName, &err);
-
-		    if (!err && currentValue)
-		    {
-			if (strcmp (currentValue, newValue) != 0)
-    			    gconf_client_set_string(client, optionName,
-						    newValue, NULL);
-			g_free (currentValue);
-    		    }
-		    free (newValue);
-		}
-
 		setGnomeMouseButtonModifier (modMask);
 		setButtonBindingForSetting (context, "move",
 					    "initiate_button", 1, modMask);

commit 84f078169fbd65321e6c9d0d6fe9487fd99cb706
Author: Danny Baumann <dannybaumann@web.de>
Date:   Sun Jan 6 17:52:45 2008 +0100

    Don't define VERSION twice.

diff --git a/configure.ac b/configure.ac
index 6950b8a..1e3bef8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,8 +2,6 @@ AC_PREREQ(2.57)
 
 AC_INIT([compizconfig-backend-gconf],esyscmd(. ./VERSION;echo -n $VERSION), [maniac@opencompositing.org])
 
-AC_DEFINE_UNQUOTED(VERSION,"$VERSION",[Version])
-
 #AC_CONFIG_AUX_DIR(config)
 
 AM_INIT_AUTOMAKE([1.9 dist-bzip2])

commit e5e731d5831370cfd2c35b7e511725498f8c08e9
Author: Danny Baumann <dannybaumann@web.de>
Date:   Sun Oct 28 11:15:02 2007 +0100

    More * -> *_button renames.
    Whitespace fixes.

diff --git a/settings-backend/gconf.c b/settings-backend/gconf.c
index 72b3adf..311d113 100644
--- a/settings-backend/gconf.c
+++ b/settings-backend/gconf.c
@@ -557,15 +557,18 @@ gnomeValueChanged (GConfClient *client,
 		needInit = FALSE;
 	    }
 
-	    s = findDisplaySettingForPlugin (context, "core", "window_menu");
+	    s = findDisplaySettingForPlugin (context, "core",
+					     "window_menu_button");
 	    if (s)
 		readSetting (context, s);
 
-	    s = findDisplaySettingForPlugin (context, "move", "initiate");
+	    s = findDisplaySettingForPlugin (context, "move",
+					     "initiate_button");
 	    if (s)
 		readSetting (context, s);
 
-	    s = findDisplaySettingForPlugin (context, "resize", "initiate");
+	    s = findDisplaySettingForPlugin (context, "resize",
+					     "initiate_button");
 	    if (s)
 		readSetting (context, s);
 	}
@@ -1082,7 +1085,7 @@ readIntegratedOption (CCSContext *context,
 		      ((strcmp (pluginName, "move") == 0) ||
 		       (strcmp (pluginName, "resize") == 0))) ||
 		      ((strcmp (settingName, "window_menu_button") == 0) &&
-           (strcmp (pluginName, "core") == 0)))
+		       (strcmp (pluginName, "core") == 0)))
 	    {
 		if (gconfValue->type == GCONF_VALUE_STRING)
 		{
@@ -1620,7 +1623,7 @@ writeIntegratedOption (CCSContext *context,
 		      ((strcmp (pluginName, "move") == 0) ||
 		       (strcmp (pluginName, "resize") == 0))) ||
 		      ((strcmp (settingName, "window_menu_button") == 0) &&
-           (strcmp (pluginName, "core") == 0)))
+		       (strcmp (pluginName, "core") == 0)))
 	    {
 		char         *newValue;
 		gchar        *currentValue;

commit 71661914c0f9f54900b5955cdfb38b8982ad0728
Author: Christopher Williams <christopherw@verizon.net>
Date:   Sat Oct 27 23:53:07 2007 -0400

    Fix Mouse Button Modifier bindings (window menu, initiate move, initiate resize)

diff --git a/settings-backend/gconf.c b/settings-backend/gconf.c
index 1b4740e..72b3adf 100644
--- a/settings-backend/gconf.c
+++ b/settings-backend/gconf.c
@@ -1078,10 +1078,11 @@ readIntegratedOption (CCSContext *context,
 		    }
 		}
 	    }
-	    else if (((strcmp (settingName, "initiate") == 0) &&
+	    else if (((strcmp (settingName, "initiate_button") == 0) &&
 		      ((strcmp (pluginName, "move") == 0) ||
 		       (strcmp (pluginName, "resize") == 0))) ||
-		     (strcmp (settingName, "window_menu") == 0))
+		      ((strcmp (settingName, "window_menu_button") == 0) &&
+           (strcmp (pluginName, "core") == 0)))
 	    {
 		if (gconfValue->type == GCONF_VALUE_STRING)
 		{
@@ -1098,7 +1099,7 @@ readIntegratedOption (CCSContext *context,
 			{
 			    button.buttonModMask =
 				getGnomeMouseButtonModifier ();
-			    if (strcmp (settingName, "window_menu") == 0)
+			    if (strcmp (settingName, "window_menu_button") == 0)
 				button.button = 3;
 			    else if (strcmp (pluginName, "resize") == 0)
 				button.button = 2;
@@ -1615,10 +1616,11 @@ writeIntegratedOption (CCSContext *context,
 		    g_free (currentValue);
 		}
 	    }
-	    else if (((strcmp (settingName, "initiate") == 0) &&
-	    	      ((strcmp (pluginName, "move") == 0) ||
+	    else if (((strcmp (settingName, "initiate_button") == 0) &&
+		      ((strcmp (pluginName, "move") == 0) ||
 		       (strcmp (pluginName, "resize") == 0))) ||
-		     (strcmp (settingName, "window_menu") == 0))
+		      ((strcmp (settingName, "window_menu_button") == 0) &&
+           (strcmp (pluginName, "core") == 0)))
 	    {
 		char         *newValue;
 		gchar        *currentValue;
@@ -1644,11 +1646,11 @@ writeIntegratedOption (CCSContext *context,
 
 		setGnomeMouseButtonModifier (modMask);
 		setButtonBindingForSetting (context, "move",
-					    "initiate", 1, modMask);
+					    "initiate_button", 1, modMask);
 		setButtonBindingForSetting (context, "resize",
-					    "initiate", 2, modMask);
+					    "initiate_button", 2, modMask);
 		setButtonBindingForSetting (context, "core",
-					    "window_menu", 3, modMask);
+					    "window_menu_button", 3, modMask);
 	    }
 	}
      	break;

commit 811237591b2cb629c1b07941f34cc178f34f6641
Author: Guillaume Seguin <guillaume@segu.in>
Date:   Sun Oct 21 12:52:44 2007 +0200

    * Bump version to 0.6.99

diff --git a/VERSION b/VERSION
index de3b1c2..58d3865 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-VERSION=0.6.0
+VERSION=0.6.99

commit 1074bb25eb6fbd31791e72046126e12bc44a1881
Author: Danny Baumann <dannybaumann@web.de>
Date:   Wed Oct 10 12:05:04 2007 +0200

    Fix integration of maximize horizontally/vertically keys.

diff --git a/settings-backend/gconf.c b/settings-backend/gconf.c
index 8fa34f9..1b4740e 100644
--- a/settings-backend/gconf.c
+++ b/settings-backend/gconf.c
@@ -134,9 +134,9 @@ const SpecialOption specialOptions[] = {
      METACITY "/window_keybindings/maximize", OptionKey},
     {"unmaximize_window_key", "core", FALSE,
      METACITY "/window_keybindings/unmaximize", OptionKey},
-    {"toggle_window_maximized_horizontally_key", "core", FALSE,
+    {"maximize_window_horizontally_key", "core", FALSE,
      METACITY "/window_keybindings/maximize_horizontally", OptionKey},
-    {"toggle_window_maximized_vertically_key", "core", FALSE,
+    {"maximize_window_vertically_key", "core", FALSE,
      METACITY "/window_keybindings/maximize_vertically", OptionKey},
     {"raise_window_key", "core", FALSE,
      METACITY "/window_keybindings/raise", OptionKey},

commit f3eebbab44aa235744531e3b5825f60287f2197e
Author: Danny Baumann <dannybaumann@web.de>
Date:   Wed Oct 10 12:04:23 2007 +0200

    Use gconf_value processing in integrated settings reading.

diff --git a/settings-backend/gconf.c b/settings-backend/gconf.c
index 0fc98ec..8fa34f9 100644
--- a/settings-backend/gconf.c
+++ b/settings-backend/gconf.c
@@ -958,63 +958,65 @@ readIntegratedOption (CCSContext *context,
 		      CCSSetting *setting,
 		      int        index)
 {
-    GError *err = NULL;
-    Bool   ret = FALSE;
+    GConfValue *gconfValue;
+    GError     *err = NULL;
+    Bool       ret = FALSE;
 
-    switch (specialOptions[index].type)
+    gconfValue = gconf_client_get (client,
+				   specialOptions[index].gnomeName,
+				   &err);
+
+    if (err)
     {
+	g_error_free (err);
+	return FALSE;
+    }
+
+    if (!gconfValue)
+	return FALSE;
+
+    switch (specialOptions[index].type) {
     case OptionInt:
+	if (gconfValue->type == GCONF_VALUE_INT)
 	{
 	    guint value;
-	    value = gconf_client_get_int (client,
-					  specialOptions[index].gnomeName,
-					  &err);
 
-	    if (!err)
-	    {
-		ccsSetInt (setting, value);
-		ret = TRUE;
-	    }
+	    value = gconf_value_get_int (gconfValue);
+	    ccsSetInt (setting, value);
+	    ret = TRUE;
 	}
 	break;
     case OptionBool:
+	if (gconfValue->type == GCONF_VALUE_BOOL)
 	{
 	    gboolean value;
-	    value = gconf_client_get_bool (client,
-					   specialOptions[index].gnomeName,
-					   &err);
 
-	    if (!err)
-	    {
-		ccsSetBool (setting, value ? TRUE : FALSE);
-		ret = TRUE;
-	    }
+	    value = gconf_value_get_bool (gconfValue);
+	    ccsSetBool (setting, value ? TRUE : FALSE);
+	    ret = TRUE;
 	}
 	break;
     case OptionString:
+	if (gconfValue->type == GCONF_VALUE_STRING)
 	{
-	    char *value;
-	    value = gconf_client_get_string (client,
-					     specialOptions[index].gnomeName,
-					     &err);
+	    const char *value;
 
-	    if (!err && value)
-    	    {
+	    value = gconf_value_get_string (gconfValue);
+	    if (value)
+	    {
 		ccsSetString (setting, value);
 		ret = TRUE;
-		g_free (value);
 	    }
 	}
 	break;
     case OptionKey:
+	if (gconfValue->type == GCONF_VALUE_STRING)
 	{
-	    char *value;
-	    value = gconf_client_get_string (client,
-					     specialOptions[index].gnomeName,
-					     &err);
+	    const char *value;
 
-	    if (!err && value)
-    	    {
+	    value = gconf_value_get_string (gconfValue);
+	    if (value)
+	    {
 		CCSSettingKeyValue key;
 
 		memset (&key, 0, sizeof (CCSSettingKeyValue));
@@ -1024,7 +1026,6 @@ readIntegratedOption (CCSContext *context,
 		    ccsSetKey (setting, key);
 		    ret = TRUE;
 		}
-		g_free (value);
 	    }
 	}
 	break;
@@ -1035,48 +1036,46 @@ readIntegratedOption (CCSContext *context,
 
 	    if (strcmp (settingName, "current_viewport") == 0)
 	    {
-		const char *name;
-		gboolean   showAll;
-
-		name = specialOptions[index].gnomeName;
-		showAll = gconf_client_get_bool (client, name, &err);
-		if (!err)
+		if (gconfValue->type == GCONF_VALUE_BOOL)
 		{
+		    gboolean showAll;
+
+		    showAll = gconf_value_get_bool (gconfValue);
 		    ccsSetBool (setting, !showAll);
 		    ret = TRUE;
 		}
 	    }
 	    else if (strcmp (settingName, "fullscreen_visual_bell") == 0)
 	    {
-		const char *name;
-		char       *value;
-
-		name = specialOptions[index].gnomeName;
-		value = gconf_client_get_string (client, name, &err);
-		if (!err && value)
+		if (gconfValue->type == GCONF_VALUE_STRING)
 		{
-		    Bool fullscreen;
+		    const char *value;
 
-		    fullscreen = strcmp (value, "fullscreen") == 0;
-		    ccsSetBool (setting, fullscreen);
-		    ret = TRUE;
-		    g_free (value);
+		    value = gconf_value_get_string (gconfValue);
+		    if (value)
+		    {
+			Bool fullscreen;
+
+			fullscreen = strcmp (value, "fullscreen") == 0;
+			ccsSetBool (setting, fullscreen);
+			ret = TRUE;
+		    }
 		}
 	    }
 	    else if (strcmp (settingName, "click_to_focus") == 0)
 	    {
-		char       *focusMode;
-		const char *name;
+		if (gconfValue->type == GCONF_VALUE_STRING)
+		{
+		    const char *focusMode;
 
-		name = specialOptions[index].gnomeName;
-		focusMode = gconf_client_get_string (client, name, &err);
+		    focusMode = gconf_value_get_string (gconfValue);
 
-		if (!err && focusMode)
-		{
-		    Bool clickToFocus = (strcmp (focusMode, "click") == 0);
-		    ccsSetBool (setting, clickToFocus);
-		    ret = TRUE;
-		    g_free (focusMode);
+		    if (focusMode)
+		    {
+			Bool clickToFocus = (strcmp (focusMode, "click") == 0);
+			ccsSetBool (setting, clickToFocus);
+			ret = TRUE;
+		    }
 		}
 	    }
 	    else if (((strcmp (settingName, "initiate") == 0) &&
@@ -1084,31 +1083,32 @@ readIntegratedOption (CCSContext *context,
 		       (strcmp (pluginName, "resize") == 0))) ||
 		     (strcmp (settingName, "window_menu") == 0))
 	    {
-		char       *value;
-		const char *name;
+		if (gconfValue->type == GCONF_VALUE_STRING)
+		{
+		    const char *value;
 
-		name = specialOptions[index].gnomeName;
-		value = gconf_client_get_string (client, name, &err);
+		    value = gconf_value_get_string (gconfValue);
 
-		if (!err && value)
-		{
-		    CCSSettingButtonValue button;
-		    memset (&button, 0, sizeof (CCSSettingButtonValue));
-    		    ccsGetButton (setting, &button);
-	    	    if (ccsStringToButtonBinding (value, &button))
+		    if (value)
 		    {
-			button.buttonModMask = getGnomeMouseButtonModifier ();
-			if (strcmp (settingName, "window_menu") == 0)
-    			    button.button = 3;
-			else if (strcmp (pluginName, "resize") == 0)
-	    		    button.button = 2;
-			else
-			    button.button = 1;
-
-			ccsSetButton (setting, button);
-			ret = TRUE;
+			CCSSettingButtonValue button;
+			memset (&button, 0, sizeof (CCSSettingButtonValue));
+			ccsGetButton (setting, &button);
+			if (ccsStringToButtonBinding (value, &button))
+			{
+			    button.buttonModMask =
+				getGnomeMouseButtonModifier ();
+			    if (strcmp (settingName, "window_menu") == 0)
+				button.button = 3;
+			    else if (strcmp (pluginName, "resize") == 0)
+				button.button = 2;
+			    else
+				button.button = 1;
+
+			    ccsSetButton (setting, button);
+			    ret = TRUE;
+			}
 		    }
-		    g_free (value);
 		}
 	    }
 	}
@@ -1117,8 +1117,7 @@ readIntegratedOption (CCSContext *context,
 	break;
     }
 
-    if (err)
-	g_error_free (err);
+    gconf_value_free (gconfValue);
 
     return ret;
 }

commit f935a550950f4687636d8cab291d5727291b79e2
Author: Jigish Gohil <cyberorg@prime.(none)>
Date:   Wed Oct 3 13:22:59 2007 +0530

    bump version to 0.6.0

diff --git a/VERSION b/VERSION
index 2313ac4..de3b1c2 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-VERSION=0.5.2
+VERSION=0.6.0

commit 843cf815ad793c8e7c2c980e12c2b387d4d0a908
Author: Kristian Lyngstøl <kristian@albus.(none)>
Date:   Tue Sep 18 20:32:51 2007 +0200

    Ignore num_workspaces (Patch by Mirco Müller)

diff --git a/settings-backend/gconf.c b/settings-backend/gconf.c
index 8cebe31..0fc98ec 100644
--- a/settings-backend/gconf.c
+++ b/settings-backend/gconf.c
@@ -391,8 +391,8 @@ const SpecialOption specialOptions[] = {
 
     {"audible_bell", "core", FALSE,
      METACITY "/general/audible_bell", OptionBool},
-    {"hsize", "core", TRUE,
-     METACITY "/general/num_workspaces", OptionInt},
+    /*{"hsize", "core", TRUE,
+     METACITY "/general/num_workspaces", OptionInt},*/
 };
 
 #define N_SOPTIONS (sizeof (specialOptions) / sizeof (struct _SpecialOption))

commit e1a0a86fb1f9e5a446ea2fdc1404bddcf3820964
Author: Danny Baumann <dannybaumann@web.de>
Date:   Sun Sep 9 09:53:47 2007 +0200

    Metacity doesn't like the key binding "Disabled", it wants "disabled".

diff --git a/settings-backend/gconf.c b/settings-backend/gconf.c
index a0a177d..8cebe31 100644
--- a/settings-backend/gconf.c
+++ b/settings-backend/gconf.c
@@ -1544,6 +1544,12 @@ writeIntegratedOption (CCSContext *context,
 	    newValue = ccsKeyBindingToString (&setting->value->value.asKey);
 	    if (newValue)
     	    {
+		if (strcmp (newValue, "Disabled") == 0)
+		{
+		    /* Metacity doesn't like "Disabled", it wants "disabled" */
+		    newValue[0] = 'd';
+		}
+
 		currentValue = gconf_client_get_string (client,
 							optionName, &err);
 

commit b6571fea49f7996487fdfb4eb4c2c40c5776be7b
Author: Danny Baumann <dannybaumann@web.de>
Date:   Sun Sep 9 08:27:59 2007 +0200

    Revert "Integrate desktop layout option of workspace switcher applet."
    
    This reverts commit b772db8b966ec5254d75dd6353799e08056818d0.
    
    Reasoning:
    While this conversion is correct in theory, and it works fine controling Metacity, it has the unwanted side effect of libwnck setting _NET_DESKTOP_GEOMETRY so that we e.g. get a 3 desktop, 3x3 viewport layout if we just wanted to have a 3x3 viewport layout.

diff --git a/settings-backend/gconf.c b/settings-backend/gconf.c
index 8c9c859..a0a177d 100644
--- a/settings-backend/gconf.c
+++ b/settings-backend/gconf.c
@@ -31,7 +31,6 @@
 #include <malloc.h>
 #include <string.h>
 #include <dirent.h>
-#include <math.h>
 
 #include <ccs.h>
 #include <ccs-backend.h>
@@ -81,10 +80,9 @@
 static const char* watchedGnomeDirectories[] = {
     METACITY,
     "/desktop/gnome/applications/terminal",
-    "/apps/panel/applets/window_list/prefs",
-    "/apps/panel/applets/workspace_switcher/prefs"
+    "/apps/panel/applets/window_list/prefs"
 };
-#define NUM_WATCHED_DIRS 4
+#define NUM_WATCHED_DIRS 3
 
 static GConfClient *client = NULL;
 static GConfEngine *conf = NULL;
@@ -393,11 +391,8 @@ const SpecialOption specialOptions[] = {
 
     {"audible_bell", "core", FALSE,
      METACITY "/general/audible_bell", OptionBool},
-
     {"hsize", "core", TRUE,
-     METACITY "/general/num_workspaces", OptionSpecial},
-    {"vsize", "core", TRUE,
-     "/apps/panel/applets/workspace_switcher/prefs/num_rows", OptionSpecial}
+     METACITY "/general/num_workspaces", OptionInt},
 };
 
 #define N_SOPTIONS (sizeof (specialOptions) / sizeof (struct _SpecialOption))
@@ -1084,35 +1079,6 @@ readIntegratedOption (CCSContext *context,
 		    g_free (focusMode);
 		}
 	    }
-	    else if ((strcmp (settingName, "hsize") == 0) ||
-		     (strcmp (settingName, "vsize") == 0))
-	    {
-		int numDesks, numRows;
-		int hsize, vsize, value;
-
-		numDesks = gconf_client_get_int (client, METACITY
-						 "/general/num_workspaces",
-						 &err);
-		if (err)
-		    break;
-
-		numRows = gconf_client_get_int (client, "/apps/panel/applets/"
-						"workspace_switcher/prefs/"
-						"num_rows", &err);
-		if (err)
-		    break;
-
-		hsize = ceil ((float)numDesks / (float) numRows);
-		vsize = numRows;
-
-		if (strcmp (settingName, "hsize") == 0)
-		    value = hsize;
-		else
-		    value = vsize;
-
-		ccsSetInt (setting, value);
-		ret = TRUE;
-	    }
 	    else if (((strcmp (settingName, "initiate") == 0) &&
 		      ((strcmp (pluginName, "move") == 0) ||
 		       (strcmp (pluginName, "resize") == 0))) ||
@@ -1644,36 +1610,6 @@ writeIntegratedOption (CCSContext *context,
 		    g_free (currentValue);
 		}
 	    }
-	    else if ((strcmp (settingName, "hsize") == 0) ||
-		     (strcmp (settingName, "vsize") == 0))
-	    {
-		CCSPlugin *p;
-		CCSSetting *s;
-		int hsize, vsize;
-
-		p = ccsFindPlugin (context, "core");
-		if (!p)
-		    break;
-
-		s = ccsFindSetting (p, "hsize", TRUE, 0);
-		if (!s)
-		    break;
-		if (!ccsGetInt (s, &hsize))
-		    break;
-
-		s = ccsFindSetting (p, "vsize", TRUE, 0);
-		if (!s)
-		    break;
-		if (!ccsGetInt (s, &vsize))
-		    break;
-
-		gconf_client_set_int (client, METACITY
-				      "/general/num_workspaces",
-				      hsize * vsize, NULL);
-		gconf_client_set_int (client, "/apps/panel/applets/"
-				      "workspace_switcher/prefs/num_rows",
-				      vsize, NULL);
-	    }
 	    else if (((strcmp (settingName, "initiate") == 0) &&
 	    	      ((strcmp (pluginName, "move") == 0) ||
 		       (strcmp (pluginName, "resize") == 0))) ||

commit b772db8b966ec5254d75dd6353799e08056818d0
Author: Danny Baumann <dannybaumann@web.de>
Date:   Sat Sep 8 19:44:59 2007 +0200

    Integrate desktop layout option of workspace switcher applet.

diff --git a/settings-backend/gconf.c b/settings-backend/gconf.c
index a0a177d..8c9c859 100644
--- a/settings-backend/gconf.c
+++ b/settings-backend/gconf.c
@@ -31,6 +31,7 @@
 #include <malloc.h>
 #include <string.h>
 #include <dirent.h>
+#include <math.h>
 
 #include <ccs.h>
 #include <ccs-backend.h>
@@ -80,9 +81,10 @@
 static const char* watchedGnomeDirectories[] = {
     METACITY,
     "/desktop/gnome/applications/terminal",
-    "/apps/panel/applets/window_list/prefs"
+    "/apps/panel/applets/window_list/prefs",
+    "/apps/panel/applets/workspace_switcher/prefs"
 };
-#define NUM_WATCHED_DIRS 3
+#define NUM_WATCHED_DIRS 4
 
 static GConfClient *client = NULL;
 static GConfEngine *conf = NULL;
@@ -391,8 +393,11 @@ const SpecialOption specialOptions[] = {
 
     {"audible_bell", "core", FALSE,
      METACITY "/general/audible_bell", OptionBool},
+
     {"hsize", "core", TRUE,
-     METACITY "/general/num_workspaces", OptionInt},
+     METACITY "/general/num_workspaces", OptionSpecial},
+    {"vsize", "core", TRUE,
+     "/apps/panel/applets/workspace_switcher/prefs/num_rows", OptionSpecial}
 };
 
 #define N_SOPTIONS (sizeof (specialOptions) / sizeof (struct _SpecialOption))
@@ -1079,6 +1084,35 @@ readIntegratedOption (CCSContext *context,
 		    g_free (focusMode);
 		}
 	    }
+	    else if ((strcmp (settingName, "hsize") == 0) ||
+		     (strcmp (settingName, "vsize") == 0))
+	    {
+		int numDesks, numRows;
+		int hsize, vsize, value;
+
+		numDesks = gconf_client_get_int (client, METACITY
+						 "/general/num_workspaces",
+						 &err);
+		if (err)
+		    break;
+
+		numRows = gconf_client_get_int (client, "/apps/panel/applets/"
+						"workspace_switcher/prefs/"
+						"num_rows", &err);
+		if (err)
+		    break;
+
+		hsize = ceil ((float)numDesks / (float) numRows);
+		vsize = numRows;
+
+		if (strcmp (settingName, "hsize") == 0)
+		    value = hsize;
+		else
+		    value = vsize;
+
+		ccsSetInt (setting, value);
+		ret = TRUE;
+	    }
 	    else if (((strcmp (settingName, "initiate") == 0) &&
 		      ((strcmp (pluginName, "move") == 0) ||
 		       (strcmp (pluginName, "resize") == 0))) ||
@@ -1610,6 +1644,36 @@ writeIntegratedOption (CCSContext *context,
 		    g_free (currentValue);
 		}
 	    }
+	    else if ((strcmp (settingName, "hsize") == 0) ||
+		     (strcmp (settingName, "vsize") == 0))
+	    {
+		CCSPlugin *p;
+		CCSSetting *s;
+		int hsize, vsize;
+
+		p = ccsFindPlugin (context, "core");
+		if (!p)
+		    break;
+
+		s = ccsFindSetting (p, "hsize", TRUE, 0);
+		if (!s)
+		    break;
+		if (!ccsGetInt (s, &hsize))
+		    break;
+
+		s = ccsFindSetting (p, "vsize", TRUE, 0);
+		if (!s)
+		    break;
+		if (!ccsGetInt (s, &vsize))
+		    break;
+
+		gconf_client_set_int (client, METACITY
+				      "/general/num_workspaces",
+				      hsize * vsize, NULL);
+		gconf_client_set_int (client, "/apps/panel/applets/"
+				      "workspace_switcher/prefs/num_rows",
+				      vsize, NULL);
+	    }
 	    else if (((strcmp (settingName, "initiate") == 0) &&
 	    	      ((strcmp (pluginName, "move") == 0) ||
 		       (strcmp (pluginName, "resize") == 0))) ||

commit 0dbfbe14102185bd1acd24aaaa32f32d5b82c374
Author: Danny Baumann <dannybaumann@web.de>
Date:   Sat Sep 8 14:12:17 2007 +0200

    Integrate visual_bell and fullscreen_visual_bell options of the fade plugin.

diff --git a/settings-backend/gconf.c b/settings-backend/gconf.c
index 763c903..a0a177d 100644
--- a/settings-backend/gconf.c
+++ b/settings-backend/gconf.c
@@ -160,6 +160,11 @@ const SpecialOption specialOptions[] = {
     {"mouse_button_modifier", NULL, FALSE,
      METACITY "/general/mouse_button_modifier", OptionSpecial},
 
+    {"visual_bell", "fade", TRUE,
+     METACITY "/general/visual_bell", OptionBool},
+    {"fullscreen_visual_bell", "fade", TRUE,
+     METACITY "/general/visual_bell_type", OptionSpecial},
+
     {"next_key", "switcher", FALSE,
      METACITY "/global_keybindings/switch_windows", OptionKey},
     {"prev_key", "switcher", FALSE,
@@ -1041,6 +1046,23 @@ readIntegratedOption (CCSContext *context,
 		    ret = TRUE;
 		}
 	    }
+	    else if (strcmp (settingName, "fullscreen_visual_bell") == 0)
+	    {
+		const char *name;
+		char       *value;
+
+		name = specialOptions[index].gnomeName;
+		value = gconf_client_get_string (client, name, &err);
+		if (!err && value)
+		{
+		    Bool fullscreen;
+
+		    fullscreen = strcmp (value, "fullscreen") == 0;
+		    ccsSetBool (setting, fullscreen);
+		    ret = TRUE;
+		    g_free (value);
+		}
+	    }
 	    else if (strcmp (settingName, "click_to_focus") == 0)
 	    {
 		char       *focusMode;
@@ -1551,6 +1573,24 @@ writeIntegratedOption (CCSContext *context,
 		gconf_client_set_bool (client, optionName,
 				       !currentViewport, NULL);
 	    }
+	    else if (strcmp (settingName, "fullscreen_visual_bell") == 0)
+	    {
+		Bool  fullscreen;
+		gchar *currentValue, *newValue;
+		if (!ccsGetBool (setting, &fullscreen))
+		    break;
+
+		newValue = fullscreen ? "fullscreen" : "frame_flash";
+		currentValue = gconf_client_get_string (client,
+							optionName, &err);
+		if (!err && currentValue)
+		{
+		    if (strcmp (currentValue, newValue) != 0)
+			gconf_client_set_string (client, optionName,
+						 newValue, NULL);
+		    g_free (currentValue);
+		}
+	    }
 	    else if (strcmp (settingName, "click_to_focus") == 0)
 	    {
 		Bool  clickToFocus;
@@ -1564,7 +1604,7 @@ writeIntegratedOption (CCSContext *context,
 
 		if (!err && currentValue)
 		{
-		    if (strcmp(currentValue, newValue) != 0)
+		    if (strcmp (currentValue, newValue) != 0)
 			gconf_client_set_string (client, optionName,
 						 newValue, NULL);
 		    g_free (currentValue);

commit cb1fcdb05863a7865857a89c31e012f5d6a77fb1
Author: Dennis Kasprzyk <onestone@opencompositing.org>
Date:   Sun Sep 2 22:34:44 2007 +0200

    Support empty lists.

diff --git a/settings-backend/gconf.c b/settings-backend/gconf.c
index 11fcd3b..763c903 100644
--- a/settings-backend/gconf.c
+++ b/settings-backend/gconf.c
@@ -829,7 +829,10 @@ readListValue (CCSSetting *setting,
 
     valueList = gconf_value_get_list (gconfValue);
     if (!valueList)
-	return FALSE;
+    {
+	ccsSetList (setting, NULL);
+	return TRUE;
+    }
 
     nItems = g_slist_length (valueList);
 

commit ce196cce1fb63bace69b8f44916f43bc9c39ff5a
Author: Danny Baumann <dannybaumann@web.de>
Date:   Sun Sep 2 13:59:49 2007 +0200

    Remove cruft.

diff --git a/settings-backend/gconf.c b/settings-backend/gconf.c
index 6cfd004..11fcd3b 100644
--- a/settings-backend/gconf.c
+++ b/settings-backend/gconf.c


Reply to: