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 1afb080a98
commit 1d5e421839
2 changed files with 11 additions and 7 deletions

View File

@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* $OpenBSD: client.c,v 1.234 2017/02/06 18:10:28 okan Exp $
* $OpenBSD: client.c,v 1.235 2017/04/24 12:18:04 okan Exp $
*/
#include <sys/types.h>
@ -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);

View File

@ -1,4 +1,4 @@
.\" $OpenBSD: cwmrc.5,v 1.66 2017/01/15 21:07:44 okan Exp $
.\" $OpenBSD: cwmrc.5,v 1.67 2017/04/24 12:18:04 okan Exp $
.\"
.\" Copyright (c) 2004,2005 Marius Aamodt Eriksen <marius@monkey.org>
.\"
@ -14,7 +14,7 @@
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.Dd $Mdocdate: January 15 2017 $
.Dd $Mdocdate: April 24 2017 $
.Dt CWMRC 5
.Os
.Sh NAME
@ -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