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

New commits:
commit eab7857a661fe71331266688ecd6523d9210bfe3
Author: Guillaume Seguin <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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), 
[EMAIL PROTECTED])
 
-AC_DEFINE_UNQUOTED(VERSION,"$VERSION",[Version])
-
 #AC_CONFIG_AUX_DIR(config)
 
 AM_INIT_AUTOMAKE([1.9 dist-bzip2])

commit e5e731d5831370cfd2c35b7e511725498f8c08e9
Author: Danny Baumann <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED](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 <[EMAIL PROTECTED](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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to