X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fconfig.c;h=3f3c70c172ec159cb8a9cb0c240175d23928e08e;hb=9f68b12062bfa5e68c00db8a74ca58998661a13b;hp=03fac801d5882135051baae91930dec0fda7975b;hpb=94f2b4a7b8b62ed031fe96da4d24b2d5dbb4aded;p=chaz%2Fopenbox diff --git a/openbox/config.c b/openbox/config.c index 03fac801..3f3c70c1 100644 --- a/openbox/config.c +++ b/openbox/config.c @@ -17,26 +17,21 @@ static GData *config = NULL; static GData *config_def = NULL; /* provided by cparse.l */ -void cparse_go(FILE *); +void cparse_go(char *filename, FILE *); void config_startup() { - /* test definition */ - ConfigDefEntry *def; - - def = config_def_new("test", Config_String); - config_def_set(def); + /* set up built in variables! and their default values! */ - def = config_def_new("test", Config_String); - config_def_set(def); + config_def_set(config_def_new("engine", Config_String)); + config_def_set(config_def_new("theme", Config_String)); + config_def_set(config_def_new("font", Config_String)); + config_def_set(config_def_new("font.shadow.offset", Config_Integer)); + config_def_set(config_def_new("font.shadow.tint", Config_Integer)); + config_def_set(config_def_new("titlebar.layout", Config_String)); - def = config_def_new("testlist", Config_String); - config_def_add_value(def, "one"); - config_def_add_value(def, "two"); - config_def_set(def); - - g_datalist_foreach(&config_def, print_config, NULL); + /*g_datalist_foreach(&config_def, print_config, NULL);*/ } void config_shutdown() @@ -53,7 +48,7 @@ void config_parse() /* load the system wide rc file first */ path = g_build_filename(RCDIR, "rc3", NULL); if ((file = fopen(path, "r")) != NULL) { - cparse_go(file); + cparse_go(path, file); fclose(file); } g_free(path); @@ -61,7 +56,7 @@ void config_parse() /* then load the user one which can override it */ path = g_build_filename(g_get_home_dir(), ".openbox", "rc3", NULL); if ((file = fopen(path, "r")) != NULL) { - cparse_go(file); + cparse_go(path, file); fclose(file); } g_free(path); @@ -75,7 +70,7 @@ gboolean config_set(char *name, ConfigValueType type, ConfigValue value) name = g_ascii_strdown(name, -1); g_message("Setting %s", name); - g_datalist_foreach(&config_def, print_config, NULL); + /*g_datalist_foreach(&config_def, print_config, NULL);*/ def = g_datalist_get_data(&config_def, name); if (def == NULL) { @@ -195,8 +190,10 @@ gboolean config_def_add_value(ConfigDefEntry *entry, char *value) gboolean config_def_set(ConfigDefEntry *entry) { gboolean ret = FALSE; + ConfigDefEntry *def; - if (g_datalist_get_data(&config_def, entry->name)) { + if ((def = g_datalist_get_data(&config_def, entry->name))) { + g_assert(def != entry); /* adding it twice!? */ g_warning("Definition already set for config option '%s'. ", entry->name); config_def_free(entry);