diff --git a/src/client.c b/src/client.c index d3a9f75..426e5be 100644 --- a/src/client.c +++ b/src/client.c @@ -1229,7 +1229,8 @@ client_unmanage(Client *c) infobar_draw(c->screen); } - XFree(c->title); + + /*XFree(c->title);*/ client_focus_next(c); diff --git a/src/tag.c b/src/tag.c index 26df2a5..d42fd9b 100644 --- a/src/tag.c +++ b/src/tag.c @@ -61,11 +61,14 @@ tag_set(int tag) } else { - if(!tag || tag == seltag[selscreen] + if(!tag || (tag == seltag[selscreen] && tag == prevseltag[selscreen]) || tag > conf.ntag[selscreen]) return; - seltag[selscreen] = tag; + if(tag == seltag[selscreen] && tag != prevseltag[selscreen]) + tag = seltag[selscreen] = prevseltag[selscreen]; + else + seltag[selscreen] = tag; } ewmh_update_current_tag_prop();