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;
void config_startup()
{
+ ConfigValue val;
+
/* set up options exported by the kernel */
config_def_set(config_def_new("engine", Config_String,
"Engine",
"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()
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;
} 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;