For {h,v}tile, instead of keeping the master client's {h,v} geometry, expand it

to %50 of the area, then fill in the remaining space with the other clients in
the same group; from Gerrit Meyerheim.

support from ajacoutot.
This commit is contained in:
okan 2017-04-24 12:18:04 +00:00
parent 8d9d84d859
commit 50dd70afc5
2 changed files with 8 additions and 4 deletions

View File

@ -982,6 +982,7 @@ client_htile(struct client_ctx *cc)
cc->flags &= ~CLIENT_HMAXIMIZED;
cc->geom.x = area.x;
cc->geom.y = area.y;
cc->geom.h = (area.h - (cc->bwidth * 2)) / 2;
cc->geom.w = area.w - (cc->bwidth * 2);
client_resize(cc, 1);
client_ptrwarp(cc);
@ -1042,6 +1043,7 @@ client_vtile(struct client_ctx *cc)
cc->geom.x = area.x;
cc->geom.y = area.y;
cc->geom.h = area.h - (cc->bwidth * 2);
cc->geom.w = (area.w - (cc->bwidth * 2)) / 2;
client_resize(cc, 1);
client_ptrwarp(cc);

10
cwmrc.5
View File

@ -324,11 +324,13 @@ Vertically maximize current window (gap + border honored).
.It window-hmaximize
Horizontally maximize current window (gap + border honored).
.It window-htile
Current window is placed at the top of the screen and maximized
horizontally, other windows in its group share remaining screen space.
Current window is placed at the top of the screen, maximized
horizontally and resized to half of the vertical screen space. Other
windows in its group share remaining screen space.
.It window-vtile
Current window is placed on the left of the screen and maximized
vertically, other windows in its group share remaining screen space.
Current window is placed on the left of the screen, maximized vertically
and resized to half of the horizontal screen space. Other windows in its
group share remaining screen space.
.It window-move
Move current window.
.It window-resize