diff --git a/src/client.c b/src/client.c index e7cf65a..a0486af 100644 --- a/src/client.c +++ b/src/client.c @@ -878,7 +878,7 @@ client_maximize(Client *c) c->geo.width = sgeo[c->screen].width - BORDH * 2; c->geo.height = sgeo[c->screen].height - BORDH; - client_moveresize(c, c->geo, False); + client_moveresize(c, c->geo, True); return; } diff --git a/src/layout.c b/src/layout.c index 6cf9d1f..fcd92ac 100644 --- a/src/layout.c +++ b/src/layout.c @@ -325,10 +325,7 @@ multi_tile(int screen, Position type) { if(type == Top) mastergeo.y = (n <= nmaster) ? (uint)sg.y : sg.y + (sg.height - mwfact) - BORDH; - if (nmaster != 0) - mastergeo.width = (sg.width / nmaster) - (BORDH * 4); - else - mastergeo.width = sg.width - (BORDH * 4); + mastergeo.width = (sg.width / nmaster) - (BORDH * 4); mastergeo.height = (n <= nmaster) ? (uint)(sg.height - BORDH) : mwfact; } else @@ -336,10 +333,7 @@ multi_tile(int screen, Position type) if(type == Left) mastergeo.x = (n <= nmaster) ? (uint)sg.x : (sg.x + sg.width) - mwfact - (BORDH * 2); mastergeo.width = (n <= nmaster) ? (uint)(sg.width - (BORDH * 2)) : mwfact; - if (nmaster != 0) - mastergeo.height = sg.height - BORDH; - else - mastergeo.height = BORDH; + mastergeo.height = (sg.height / nmaster) - BORDH; } /* TILED SIZE */ diff --git a/src/tag.c b/src/tag.c index 69131e0..6b02f15 100644 --- a/src/tag.c +++ b/src/tag.c @@ -47,8 +47,12 @@ tag_set(int tag) screen_get_sel(); - if(seltag[selscreen] != tag) + if(seltag[selscreen] != tag && prevseltag[selscreen] != tag) prevseltag[selscreen] = seltag[selscreen]; + else if(tag == seltag[selscreen] && tag != prevseltag[selscreen]) + tag = seltag[selscreen] = prevseltag[selscreen]; + else + seltag[selscreen] = tag; if(conf.tag_round) { @@ -61,14 +65,10 @@ tag_set(int tag) } else { - if(!tag || (tag == seltag[selscreen] && tag == prevseltag[selscreen]) - || tag > conf.ntag[selscreen]) + if(!tag || tag > conf.ntag[selscreen]) return; - if(tag == seltag[selscreen] && tag != prevseltag[selscreen]) - tag = seltag[selscreen] = prevseltag[selscreen]; - else - seltag[selscreen] = tag; + seltag[selscreen] = tag; } ewmh_update_current_tag_prop();