config: Improve tag section

This commit is contained in:
Martin Duquesnoy
2008-12-07 18:19:41 +01:00
parent 0eaed01ca0
commit f5a1a72bbc
2 changed files with 13 additions and 33 deletions

View File

@@ -32,9 +32,6 @@
#include "config_struct.h" #include "config_struct.h"
#define FILE_NAME ".config/wmfs/wmfsrc"
cfg_t *cfg, *cfgtmp;
/* The following function are the /* The following function are the
different configuration section. {{{ different configuration section. {{{
@@ -186,7 +183,7 @@ conf_layout_section(cfg_t *cfg_l)
void void
conf_tag_section(cfg_t *cfg_t) 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 /* If there is no tag in the conf or more than
* MAXTAG (32) print an error and create only one. * 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) if(j < 0 || j > screen_count() - 1)
j = -1; j = -1;
if(j == -1) for(k = ((j == -1) ? 0 : j);
{ ((j == -1) ? (k < screen_count()) : !l);
for(k = 0; k < screen_count(); ++k) ((j == -1) ? ++k : --l))
{ {
++conf.ntag[k]; ++conf.ntag[k];
tags[k][conf.ntag[k]].name = strdup(cfg_getstr(cfgtmp, "name")); 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]].mwfact = cfg_getfloat(cfgtmp, "mwfact");
tags[k][conf.ntag[k]].nmaster = cfg_getint(cfgtmp, "nmaster"); 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]].resizehint = cfg_getbool(cfgtmp, "resizehint");
tags[k][conf.ntag[k]].layout = layout_name_to_struct(conf.layout, tags[k][conf.ntag[k]].layout = layout_name_to_struct(conf.layout, cfg_getstr(cfgtmp, "layout"),
cfg_getstr(cfgtmp, "layout"), conf.nlayout, layout_list);
conf.nlayout,
layout_list);
} }
} l = 0;
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);
}
} }
for(i = 0; i < screen_count(); ++i) for(i = 0; i < screen_count(); ++i)
if(!conf.ntag[i] || conf.ntag[i] > MAXTAG) if(!conf.ntag[i] || conf.ntag[i] > MAXTAG)
{ {

View File

@@ -195,13 +195,13 @@ func_name_list_t func_list[] =
func_name_list_t layout_list[] = func_name_list_t layout_list[] =
{ {
{"tile_right", tile }, {"tile_right", tile },
{"tile_left", tile_left }, {"tile_left", tile_left },
{"tile_top", tile_top }, {"tile_top", tile_top },
{"tile_bottom", tile_bottom }, {"tile_bottom", tile_bottom },
{"tile_grid", grid}, {"tile_grid", grid },
{"max", maxlayout }, {"max", maxlayout },
{"free", freelayout } {"free", freelayout }
}; };
key_name_list_t key_list[] = key_name_list_t key_list[] =