From f5a1a72bbcf928642c8ac8246c2e5961b013c24b Mon Sep 17 00:00:00 2001 From: Martin Duquesnoy Date: Sun, 7 Dec 2008 18:19:41 +0100 Subject: [PATCH] config: Improve tag section --- src/config.c | 34 +++++++--------------------------- src/config_struct.h | 12 ++++++------ 2 files changed, 13 insertions(+), 33 deletions(-) diff --git a/src/config.c b/src/config.c index d82637b..45cab53 100644 --- a/src/config.c +++ b/src/config.c @@ -32,9 +32,6 @@ #include "config_struct.h" -#define FILE_NAME ".config/wmfs/wmfsrc" - -cfg_t *cfg, *cfgtmp; /* The following function are the different configuration section. {{{ @@ -186,7 +183,7 @@ conf_layout_section(cfg_t *cfg_l) void conf_tag_section(cfg_t *cfg_t) { - int i, j, k; + int i, j, k, l = 0; /* If there is no tag in the conf or more than * MAXTAG (32) print an error and create only one. @@ -210,38 +207,21 @@ conf_tag_section(cfg_t *cfg_t) if(j < 0 || j > screen_count() - 1) j = -1; - if(j == -1) - { - for(k = 0; k < screen_count(); ++k) + for(k = ((j == -1) ? 0 : j); + ((j == -1) ? (k < screen_count()) : !l); + ((j == -1) ? ++k : --l)) { ++conf.ntag[k]; - tags[k][conf.ntag[k]].name = strdup(cfg_getstr(cfgtmp, "name")); tags[k][conf.ntag[k]].mwfact = cfg_getfloat(cfgtmp, "mwfact"); tags[k][conf.ntag[k]].nmaster = cfg_getint(cfgtmp, "nmaster"); tags[k][conf.ntag[k]].resizehint = cfg_getbool(cfgtmp, "resizehint"); - tags[k][conf.ntag[k]].layout = layout_name_to_struct(conf.layout, - cfg_getstr(cfgtmp, "layout"), - conf.nlayout, - layout_list); + tags[k][conf.ntag[k]].layout = layout_name_to_struct(conf.layout, cfg_getstr(cfgtmp, "layout"), + conf.nlayout, layout_list); } - } - else - { - ++conf.ntag[j]; - - tags[j][conf.ntag[j]].name = strdup(cfg_getstr(cfgtmp, "name")); - tags[j][conf.ntag[j]].mwfact = cfg_getfloat(cfgtmp, "mwfact"); - tags[j][conf.ntag[j]].nmaster = cfg_getint(cfgtmp, "nmaster"); - tags[j][conf.ntag[j]].resizehint = cfg_getbool(cfgtmp, "resizehint"); - tags[j][conf.ntag[j]].layout = layout_name_to_struct(conf.layout, - cfg_getstr(cfgtmp, "layout"), - conf.nlayout, - layout_list); - } + l = 0; } - for(i = 0; i < screen_count(); ++i) if(!conf.ntag[i] || conf.ntag[i] > MAXTAG) { diff --git a/src/config_struct.h b/src/config_struct.h index 13ed680..25d4f29 100644 --- a/src/config_struct.h +++ b/src/config_struct.h @@ -195,13 +195,13 @@ func_name_list_t func_list[] = func_name_list_t layout_list[] = { - {"tile_right", tile }, - {"tile_left", tile_left }, - {"tile_top", tile_top }, + {"tile_right", tile }, + {"tile_left", tile_left }, + {"tile_top", tile_top }, {"tile_bottom", tile_bottom }, - {"tile_grid", grid}, - {"max", maxlayout }, - {"free", freelayout } + {"tile_grid", grid }, + {"max", maxlayout }, + {"free", freelayout } }; key_name_list_t key_list[] =