tag: Add tag round

Signed-off-by: David Delassus <linkdd62@gmail.com>
This commit is contained in:
David Delassus 2008-12-02 18:27:07 +01:00 committed by Martin Duquesnoy
parent aac9b78319
commit 20e74f62e8
4 changed files with 27 additions and 9 deletions

View File

@ -126,6 +126,7 @@ static cfg_opt_t tag_opts[] =
static cfg_opt_t tags_opts[] =
{
CFG_BOOL("tag_round", cfg_false, CFGF_NONE),
CFG_STR("occupied_bg", "#003366", CFGF_NONE),
CFG_STR("sel_fg", "#FFFFFF", CFGF_NONE),
CFG_STR("sel_bg", "#354B5C", CFGF_NONE),
@ -455,6 +456,7 @@ init_conf(void)
* If there is no tag in the conf or more than
* MAXTAG (32) print an error and create only one.
*/
conf.tag_round = cfg_getbool(cfg_tags, "tag_round");
conf.colors.tagselfg = strdup(var_to_str(cfg_getstr(cfg_tags, "sel_fg")));
conf.colors.tagselbg = getcolor(var_to_str(cfg_getstr(cfg_tags, "sel_bg")));
conf.colors.tag_occupied_bg = getcolor(var_to_str(cfg_getstr(cfg_tags, "occupied_bg")));

View File

@ -205,6 +205,7 @@ typedef struct
Tag tag[MAXTAG];
Layout layout[NUM_OF_LAYOUT];
int *ntag;
bool tag_round;
int nkeybind;
int nbutton;
int nlayout;

View File

@ -45,20 +45,33 @@ uicb_tag(uicb_t cmd)
if(!tmp)
tmp = 1;
if(cmd[0] == '+' || cmd[0] == '-')
if(conf.tag_round)
{
if(tmp + seltag[selscreen] < 1
|| tmp + seltag[selscreen] > conf.ntag[selscreen])
return;
seltag[selscreen] += tmp;
if(tmp + seltag[selscreen] < 1)
seltag[selscreen] = conf.ntag[selscreen];
else if (tmp + seltag[selscreen] > conf.ntag[selscreen])
seltag[selscreen] = 1;
else
seltag[selscreen] += tmp;
}
else
{
if(tmp == seltag[selscreen]
|| tmp > conf.ntag[selscreen])
return;
seltag[selscreen] = tmp;
if(cmd[0] == '+' || cmd[0] == '-')
{
if(tmp + seltag[selscreen] < 1
|| tmp + seltag[selscreen] > conf.ntag[selscreen])
return;
seltag[selscreen] += tmp;
}
else
{
if(tmp == seltag[selscreen]
|| tmp > conf.ntag[selscreen])
return;
seltag[selscreen] = tmp;
}
}
arrange();
return;

2
wmfsrc
View File

@ -38,6 +38,8 @@ layouts
tags
{
tag_round = false
occupied_tag = "#003366"
sel_fg = "#191919"
sel_bg = "#7E89A2"
border = "#3F485E"