On Wed 2017.04.12 at 10:38 +0200, Antoine Jacoutot wrote:
> On Tue, Apr 11, 2017 at 06:00:21PM +0200, Gerrit Meyerheim wrote:
> > Hi @tech,
> > 
> > The way cwm(1) currently implements tiling (off by default) is
> > corresponding to this for vtile,
> > 
> > ---------------------------------
> > |           |               |
> > |           |       1       |
> > |           |               |
> > |   M       -----------------
> > |           |               |
> > |           |       2       |
> > |           |               |
> > ---------------------------------
> > 
> >  <------------->
> >     w
> > 
> > where 'w' is the original horizontal size of the master client when
> > vtile was invoked. The analogous is true for htile and vertical height.
> > 
> > While this approach gives the greatest flexibility (as one can define
> > the size of the master area for each invocation of vtile) I most often
> > find myself wanting the following behaviour when using tiling,
> > 
> > ---------------------------------
> > |           |               |
> > |           |       1       |
> > |           |               |
> > |   M       -----------------
> > |           |               |
> > |           |       2       |
> > |           |               |
> > ---------------------------------
> > 
> >  <------------->
> >     w
> > 
> > where 'w' is "0.5 x horizontal widht of the screen" for vtile and the
> > analogous for htile and height.
> > 
> > The attached patch tries to implement this (replacing the current
> > approach). Of course, there would also be the possibility of having an
> > additional function (e.g. client_htile_half etc.).
> > 
> > Thoughts?
> 
> I'd prefer that as well...
> Not sure what the others think.

Hi - I'm not a tiling user but after playing around, I find expanding the
master client to 50% of the area more appeasing as well. I'd rather not
create another function, unless enough people need it. Committed as-is.

Thanks!
Okan

> 
> > 
> > Best
> > 
> > Gerrit
> > 
> > 
> > Index: client.c
> > ===================================================================
> > RCS file: /cvs/xenocara/app/cwm/client.c,v
> > retrieving revision 1.234
> > diff -u -p -r1.234 client.c
> > --- client.c        6 Feb 2017 18:10:28 -0000       1.234
> > +++ client.c        10 Apr 2017 12:23:48 -0000
> > @@ -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);
> >  
> > Index: cwmrc.5
> > ===================================================================
> > RCS file: /cvs/xenocara/app/cwm/cwmrc.5,v
> > retrieving revision 1.66
> > diff -u -p -r1.66 cwmrc.5
> > --- cwmrc.5 15 Jan 2017 21:07:44 -0000      1.66
> > +++ cwmrc.5 10 Apr 2017 12:23:48 -0000
> > @@ -324,11 +324,13 @@ Vertically maximize current window (gap 
> >  .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
> > 
> 
> -- 
> Antoine
> 

Reply via email to