Tag: Add tag_prev_sel function request by Erus (Feature #29)
This commit is contained in:
parent
77cb589f03
commit
7e44e4b314
@ -53,6 +53,7 @@ func_name_list_t tmp_func_list[] =
|
||||
{"tag", uicb_tag },
|
||||
{"tag_next", uicb_tag_next },
|
||||
{"tag_prev", uicb_tag_prev },
|
||||
{"tag_prev_sel", uicb_tag_prev_sel },
|
||||
{"tag_transfert", uicb_tagtransfert },
|
||||
{"set_mwfact", uicb_set_mwfact },
|
||||
{"set_nmaster", uicb_set_nmaster },
|
||||
@ -394,9 +395,10 @@ conf_tag_section(char *src)
|
||||
sc = screen_count();
|
||||
|
||||
/* Alloc all */
|
||||
conf.ntag = emalloc(sc, sizeof(int));
|
||||
tags = emalloc(sc, sizeof(Tag*));
|
||||
seltag = emalloc(sc, sizeof(int));
|
||||
conf.ntag = emalloc(sc, sizeof(int));
|
||||
tags = emalloc(sc, sizeof(Tag*));
|
||||
seltag = emalloc(sc, sizeof(int));
|
||||
prevseltag = emalloc(sc, sizeof(int));
|
||||
|
||||
for(i = 0; i < sc; ++i)
|
||||
seltag[i] = 1;
|
||||
|
||||
@ -53,7 +53,6 @@ void
|
||||
mouse_move_tile_client(Client **c)
|
||||
{
|
||||
Client *sc;
|
||||
|
||||
Window w;
|
||||
int d;
|
||||
|
||||
|
||||
20
src/tag.c
20
src/tag.c
@ -38,12 +38,11 @@
|
||||
void
|
||||
tag_set(int tag)
|
||||
{
|
||||
int otag;
|
||||
Client *c;
|
||||
|
||||
screen_get_sel();
|
||||
|
||||
otag = seltag[selscreen];
|
||||
prevseltag[selscreen] = seltag[selscreen];
|
||||
|
||||
if(conf.tag_round)
|
||||
{
|
||||
@ -59,13 +58,14 @@ tag_set(int tag)
|
||||
if(!tag || tag == seltag[selscreen]
|
||||
|| tag > conf.ntag[selscreen])
|
||||
return;
|
||||
|
||||
seltag[selscreen] = tag;
|
||||
}
|
||||
|
||||
ewmh_update_current_tag_prop();
|
||||
|
||||
/* Arrange infobar position */
|
||||
if(tags[selscreen][otag].barpos != tags[selscreen][seltag[selscreen]].barpos)
|
||||
if(tags[selscreen][prevseltag[selscreen]].barpos != tags[selscreen][seltag[selscreen]].barpos)
|
||||
infobar_set_position(tags[selscreen][seltag[selscreen]].barpos);
|
||||
|
||||
arrange(selscreen, False);
|
||||
@ -170,3 +170,17 @@ uicb_tagtransfert(uicb_t cmd)
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/** Set the previous selected tag
|
||||
* \param cmd uicb_t type unused
|
||||
*/
|
||||
void
|
||||
uicb_tag_prev_sel(uicb_t cmd)
|
||||
{
|
||||
screen_get_sel();
|
||||
|
||||
tag_set(prevseltag[selscreen]);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@ -268,6 +268,7 @@ void uicb_tag(uicb_t);
|
||||
void uicb_tag_next(uicb_t);
|
||||
void uicb_tag_prev(uicb_t);
|
||||
void uicb_tagtransfert(uicb_t);
|
||||
void uicb_tag_prev_sel(uicb_t cmd);
|
||||
|
||||
/* screen.c */
|
||||
int screen_count(void);
|
||||
@ -377,6 +378,7 @@ Atom *net_atom;
|
||||
InfoBar *infobar;
|
||||
Tag **tags;
|
||||
int *seltag;
|
||||
int *prevseltag;
|
||||
Menu menulayout;
|
||||
|
||||
/* Important Client */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user