]> Dogcows Code - chaz/openbox/blobdiff - openbox/config.c
make better?
[chaz/openbox] / openbox / config.c
index a6114b4768b571b08a93cd019c78e898c1a9e717..6a6bd901019ec2de2c86a2eb1d27b28fde9ec532 100644 (file)
@@ -8,10 +8,6 @@ static void config_free_entry(ConfigEntry *entry);
 static void config_set_entry(char *name, ConfigValueType type,
                              ConfigValue value);
 static void config_def_free(ConfigDefEntry *entry);
-static void print_config(GQuark q, gpointer data, gpointer fonk){
-    ConfigDefEntry *e = (ConfigDefEntry *)data;
-    g_message("config: %s %d", e->name, e->hasList);
-}
 
 static GData *config = NULL;
 static GData *config_def = NULL;
@@ -22,6 +18,8 @@ void cparse_go(char *filename, FILE *);
 
 void config_startup()
 {
+    ConfigValue val;
+
     /* set up options exported by the kernel */
     config_def_set(config_def_new("engine", Config_String,
                                   "Engine",
@@ -48,7 +46,18 @@ void config_startup()
                                   "The ordering of the elements in the "
                                   "window titlebars."));
 
-    /*g_datalist_foreach(&config_def, print_config, NULL);*/
+    config_def_set(config_def_new("focusNew", Config_Bool,
+                                  "Focus New Windows",
+                                  "Focus windows when they first appear."));
+    val.bool = TRUE;
+    config_set("focusNew", Config_Bool, val);
+
+    config_def_set(config_def_new("focusFollowsMouse", Config_Bool,
+                                  "Focus Follows Mouse",
+                                  "Focus windows when the mouse pointer "
+                                  "enters them."));
+    val.bool = TRUE;
+    config_set("focusFollowsMouse", Config_Bool, val);
 }
 
 void config_shutdown()
@@ -89,13 +98,11 @@ gboolean config_set(char *name, ConfigValueType type, ConfigValue value)
     gboolean ret = FALSE;
 
     name = g_ascii_strdown(name, -1);
-    g_message("Setting %s", name);
 
-    /*g_datalist_foreach(&config_def, print_config, NULL);*/
     def = g_datalist_get_data(&config_def, name);
 
     if (def == NULL) {
-        g_message("Invalid config option '%s'", name);
+        g_warning("Invalid config option '%s'", name);
     } else {
         if (def->hasList) {
             gboolean found = FALSE;
@@ -111,10 +118,12 @@ gboolean config_set(char *name, ConfigValueType type, ConfigValue value)
             } while ((it = it->next));
 
             if (!found)
-                g_message("Invalid value '%s' for config option '%s'",
+                g_warning("Invalid value '%s' for config option '%s'",
                           value.string, name);
             else
                 ret = TRUE;
+        } else if (type != def->type) {
+            g_warning("Incorrect type of value for config option '%s'", name);
         } else
             ret = TRUE;
 
This page took 0.028584 seconds and 4 git commands to generate.