Thanks, yes using the window itself is perfect for the root size. No need
to walk.

Using -p to set rather than adjust the size makes sense. In that case
should we make it a part of the -x or -y commands rather than UDLR?
Something like:
resize-pane -x -p 25
to resize the pane horizontally to 25% of root width (and similarly for y).

Best,
Anindya

(PGP public key:
http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0x1C198D2DB291E1B0
)


On Tue, Oct 8, 2019 at 6:04 AM Nicholas Marriott <
[email protected]> wrote:

> It seems less useful to me to be able to say "add 50% of the size of the
> pane/window to the size of this cell" than to say "make this cell cover
> 50% of the window". But I don't really mind that much if you think it is
> better.
>
> Oh the top cell will be the size of the WINDOW not the pane, sorry. So
> it will be w->layout_root or w->sx and w->sy, not wp->layout_cell.
>
>
> On Tue, Oct 08, 2019 at 05:34:27AM -0700, Anindya Mukherjee wrote:
> >    I was thinking that "-p percent" would be a way to enter an
> adjustment for
> >    the "resize by" commands like LRUD. So it would "resize by".
> >    In my 2x2 grid example when I look at the top level cell (found by
> walking
> >    up) its size is 244x65 (for the current terminal size), while the
> size of
> >    both the target wp and its layout cell is 122x32. Is there a quick
> way to
> >    get to the top level given the target pane?
> >    Alternatively we can resize by a percentage of the target pane's size
> like
> >    I was doing initially which is also intuitive.
> >    Best,
> >    Anindya
> >    On Tue, Oct 8, 2019 at 1:53 AM Nicholas Marriott
> >    <[email protected]> wrote:
> >
> >      OK this looks good but there are two things:
> >
> >      - if you are using the whole size you should be able to use wp->sx
> and
> >      A  sy for the size rather than walking up to it (or you can get the
> root
> >      A  cell directly from wp->layout_cell).
> >
> >      - this resizes BY a % of the total size which seems a bit odd - I
> was
> >      A  thinking it would resize TO a % of the total size?
> >
> >      On Tue, Oct 08, 2019 at 12:34:13AM -0700, Anindya Mukherjee wrote:
> >      >A  A  Great, thanks!
> >      >A  A  I updated the code to use the root layout cell as that seems
> >      intuitive to
> >      >A  A  me, and also tried to fix some of the formatting issues.
> >      >A  A  Best,
> >      >A  A  Anindya
> >      >
> >      >A  A  On Tue, Oct 8, 2019 at 12:05 AM Nicholas Marriott
> >      >A  A  <[email protected]> wrote:
> >      >
> >      >A  A  A  Looks good aside from a few style nits I can fix before
> commit
> >      (use tabs
> >      >A  A  A  not spaces, all the u_int variable declarations go in the
> same
> >      >A  A  A  statement, line length needs to be <= 80 columns, new
> line for
> >      each new
> >      >A  A  A  sentence in tmux.1, "lines or columns" not "lines or
> cells" in
> >      tmux.1).
> >      >
> >      >A  A  A  I don't have strong feelings whether -p means % of parent
> cell
> >      or total
> >      >A  A  A  size, it's up to you which you prefer. I'd add a line to
> the
> >      manual
> >      >A  A  A  explaining what it means in either case.
> >      >
> >      >A  A  A  Thanks!
> >      >
> >      >A  A  A  On Mon, Oct 07, 2019 at 11:44:46PM -0700, Anindya
> Mukherjee
> >      wrote:
> >      >A  A  A  >AA  AA  Fixed a mistake in the last upload. Sorry for the
> >      noise.
> >      >A  A  A  >AA  AA  Although currently I am using the parent layout
> cell
> >      of the
> >      >A  A  A  target window
> >      >A  A  A  >AA  AA  pane's cell to calculate the available space, I
> >      wonder if it
> >      >A  A  A  would be
> >      >A  A  A  >AA  AA  better to use the root layout cell, which is
> >      basically the entire
> >      >A  A  A  >AA  AA  terminal. An example is a 2x2 grid with 4 panes.
> Here
> >      if I just
> >      >A  A  A  use the
> >      >A  A  A  >AA  AA  parent cell, it only covers half of the available
> >      space and the
> >      >A  A  A  results
> >      >A  A  A  >AA  AA  are a little less intuitive compared to using
> the top
> >      level cell.
> >      >A  A  A  >AA  AA  Best,
> >      >A  A  A  >AA  AA  Anindya
> >      >A  A  A  >
> >      >A  A  A  >AA  AA  On Mon, Oct 7, 2019 at 10:42 PM Anindya Mukherjee
> >      >A  A  A  <[email protected]>
> >      >A  A  A  >AA  AA  wrote:
> >      >A  A  A  >
> >      >A  A  A  >AA  AA  AA  Some further adjustments. I realised that
> >      checking the
> >      >A  A  A  percentage is not
> >      >A  A  A  >AA  AA  AA  necessary because downstream code handles
> large
> >      values
> >      >A  A  A  correctly. Also,
> >      >A  A  A  >AA  AA  AA  the layout type of the parent layout_cell is
> >      always
> >      >A  A  A  LAYOUT_WINDOWPANE so
> >      >A  A  A  >AA  AA  AA  I check the args instead while calculating
> the
> >      adjustment
> >      >A  A  A  (which is also
> >      >A  A  A  >AA  AA  AA  what's done in split-window).
> >      >A  A  A  >AA  AA  AA  Best,
> >      >A  A  A  >AA  AA  AA  Anindya
> >      >A  A  A  >
> >      >A  A  A  >AA  AA  AA  On Mon, Oct 7, 2019 at 9:17 PM Anindya
> Mukherjee
> >      >A  A  A  <[email protected]>
> >      >A  A  A  >AA  AA  AA  wrote:
> >      >A  A  A  >
> >      >A  A  A  >AA  AA  AA  AA  Hi Nicholas,
> >      >A  A  A  >AA  AA  AA  AA  Thanks for the feedback! I have adjusted
> the
> >      code
> >      >A  A  A  accordingly.
> >      >A  A  A  >AA  AA  AA  AA  percentage can now be 0 to INT_MAX as in
> >      split-window.
> >      >A  A  A  >AA  AA  AA  AA  Yes, initially I was setting the
> increment as
> >      a percentage
> >      >A  A  A  of the
> >      >A  A  A  >AA  AA  AA  AA  current pane size thinking that would be
> >      convenient.
> >      >A  A  A  However, upon
> >      >A  A  A  >AA  AA  AA  AA  trying percentage of the available space
> in
> >      the parent cell
> >      >A  A  A  I prefer
> >      >A  A  A  >AA  AA  AA  AA  that. Also it is then consistent with
> >      split-window.
> >      >A  A  A  >AA  AA  AA  AA  Changes attached. Please have a look.
> >      >A  A  A  >AA  AA  AA  AA  Best,
> >      >A  A  A  >AA  AA  AA  AA  Anindya
> >      >A  A  A  >AA  AA  AA  AA  On Mon, Oct 7, 2019 at 4:57 AM Nicholas
> >      Marriott
> >      >A  A  A  >AA  AA  AA  AA  <[email protected]> wrote:
> >      >A  A  A  >
> >      >A  A  A  >AA  AA  AA  AA  AA  Thanks for this.
> >      >A  A  A  >
> >      >A  A  A  >AA  AA  AA  AA  AA  For strtonum - I think it does no
> harm to
> >      let people do
> >      >A  A  A  -p0 or
> >      >A  A  A  >AA  AA  AA  AA  AA  -p99999999 to mean as small or as
> big as
> >      possible.
> >      >A  A  A  >
> >      >A  A  A  >AA  AA  AA  AA  AA  With split-window, -p is a % of the
> >      available space, but
> >      >A  A  A  you have
> >      >A  A  A  >AA  AA  AA  AA  AA  made
> >      >A  A  A  >AA  AA  AA  AA  AA  it a % of the existing size? Is this
> more
> >      useful?
> >      >A  A  A  >
> >      >A  A  A  >AA  AA  AA  AA  AA  You should be able to get the
> available
> >      space by looking
> >      >A  A  A  at the size
> >      >A  A  A  >AA  AA  AA  AA  AA  of
> >      >A  A  A  >AA  AA  AA  AA  AA  the parent cell
> >      (wp->layout_cell->parent->sx and sy).
> >      >A  A  A  >
> >      >A  A  A  >AA  AA  AA  AA  AA  On Sun, Oct 06, 2019 at 03:34:33PM
> -0700,
> >      Anindya
> >      >A  A  A  Mukherjee wrote:
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  Thanks Thomas for the
> tips! I
> >      have adjusted the
> >      >A  A  A  code
> >      >A  A  A  >AA  AA  AA  AA  AA  accordingly.
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  Regarding the
> args_strtonum
> >      call: I want to
> >      >A  A  A  disallow percent
> >      >A  A  A  >AA  AA  AA  AA  AA  <=0 and >
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  100. I thought adding 1,
> 100
> >      is a convenient
> >      >A  A  A  way of doing
> >      >A  A  A  >AA  AA  AA  AA  AA  that, and I get
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  a "too small/large" error
> when
> >      invalid values
> >      >A  A  A  are
> >      >A  A  A  >AA  AA  AA  AA  AA  supplied.AAAA  Is there any
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  issue with doing it this
> way?
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  Best,
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  Anindya
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  On Sun, Oct 6, 2019 at
> 3:03 PM
> >      Thomas Adam
> >      >A  A  A  >AA  AA  AA  AA  AA  <[email protected]> wrote:
> >      >A  A  A  >AA  AA  AA  AA  AA  >
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  Hi,
> >      >A  A  A  >AA  AA  AA  AA  AA  >
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  Thanks.AAAA  Comments
> >      below:
> >      >A  A  A  >AA  AA  AA  AA  AA  >
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  1.AAAA  You shouldn't
> >      need to use 0U for
> >      >A  A  A  integer
> >      >A  A  A  >AA  AA  AA  AA  AA  definitions.
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  2.AAAA  In terms of
> >      calling args_strtonum()
> >      >A  A  A  for
> >      >A  A  A  >AA  AA  AA  AA  AA  percentage:AAAA  0, INT_MAX
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  should be OK, rather
> than
> >      1, 100, no?
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  3.AAAA  When you're
> >      resizing in either L/R
> >      >A  A  A  or U/D, the
> >      >A  A  A  >AA  AA  AA  AA  AA  layout cells are
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  either LEFTRIGHT or
> >      TOPBOTTOM.AAAA  Rather
> >      >A  A  A  than embed your
> >      >A  A  A  >AA  AA  AA  AA  AA  percentage
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  check in all of the
> if
> >      statements that
> >      >A  A  A  check for 'L', 'R',
> >      >A  A  A  >AA  AA  AA  AA  AA  etc., you
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  can pull this check
> out
> >      to the top,
> >      >A  A  A  something like:
> >      >A  A  A  >AA  AA  AA  AA  AA  >
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  if (layout ==
> >      LAYOUT_TOPBOTTOM)
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  AAAA  AAAA  adjust =
> >      (wp->sy * percentage) /
> >      >A  A  A  100
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  else
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  AAAA  AAAA  adjust =
> >      (wp->sx * percentage) /
> >      >A  A  A  100
> >      >A  A  A  >AA  AA  AA  AA  AA  >
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  I'm sure you get the
> >      idea.
> >      >A  A  A  >AA  AA  AA  AA  AA  >
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  Kindly,
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  Thomas
> >      >A  A  A  >AA  AA  AA  AA  AA  >
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  On Sun, 6 Oct 2019 at
> >      20:56, Anindya
> >      >A  A  A  Mukherjee
> >      >A  A  A  >AA  AA  AA  AA  AA  <[email protected]>
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  wrote:
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  >
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  > Hi, I have been
> playing
> >      with adding a
> >      >A  A  A  percent option to
> >      >A  A  A  >AA  AA  AA  AA  AA  resize-pane.
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  It's on the todo list
> >      (small things) for
> >      >A  A  A  tmux, and I find
> >      >A  A  A  >AA  AA  AA  AA  AA  it very
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  useful. Right now
> it's
> >      working for me but
> >      >A  A  A  being new to
> >      >A  A  A  >AA  AA  AA  AA  AA  tmux code I would
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  love to have some
> eyes on
> >      it. I have
> >      >A  A  A  attached my changes.
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  >
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  > If this is
> >      worthwhile/useful then I can
> >      >A  A  A  do it properly
> >      >A  A  A  >AA  AA  AA  AA  AA  via github. In
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  that case any advice
> on
> >      the proper
> >      >A  A  A  procedure is welcome!
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  >
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  > Anindya
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  >
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  > --
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  > You received this
> >      message because you are
> >      >A  A  A  subscribed to
> >      >A  A  A  >AA  AA  AA  AA  AA  the Google
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  Groups "tmux-users"
> >      group.
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  > To unsubscribe from
> >      this group and stop
> >      >A  A  A  receiving emails
> >      >A  A  A  >AA  AA  AA  AA  AA  from it, send
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  an email to
> >      >A  A  A  [email protected].
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  AAA  > To view this
> discussion
> >      on the web, visit
> >      >A  A  A  >AA  AA  AA  AA  AA  >AAA  AAA  A
> >      >A  A  A  >AA  AA  AA  AA  A
> >      >A  A  A
> >
> https://groups.google.com/d/msgid/tmux-users/CAN%2Bi5iO9yh4TSNJ_r7397%2BCwW55%2BwHqDOs20CBYpFmoXeZfHTA%40mail.gmail.com
> .
> >      >
> >      >A  A  A  > diff --git a/cmd-resize-pane.c b/cmd-resize-pane.c
> >      >A  A  A  > index 8d35d96f..519c9d5e 100644
> >      >A  A  A  > --- a/cmd-resize-pane.c
> >      >A  A  A  > +++ b/cmd-resize-pane.c
> >      >A  A  A  > @@ -35,9 +35,9 @@ const struct cmd_entry
> >      cmd_resize_pane_entry = {
> >      >A  A  A  >AA  AA  AA  A .name = "resize-pane",
> >      >A  A  A  >AA  AA  AA  A .alias = "resizep",
> >      >A  A  A  >A
> >      >A  A  A  > -AA  AA  A .args = { "DLMRt:Ux:y:Z", 0, 1 },
> >      >A  A  A  > +AA  AA  A .args = { "DLMp:Rt:Ux:y:Z", 0, 1 },
> >      >A  A  A  >AA  AA  AA  A .usage = "[-DLMRUZ] [-x width] [-y height]
> "
> >      >A  A  A  CMD_TARGET_PANE_USAGE " "
> >      >A  A  A  > -AA  AA  AA  AA  AA  AA  AA  "[adjustment]",
> >      >A  A  A  > +AA  AA  AA  AA  AA  AA  AA  "[-p percentage]
> [adjustment]",
> >      >A  A  A  >A
> >      >A  A  A  >AA  AA  AA  A .target = { 't', CMD_FIND_PANE, 0 },
> >      >A  A  A  >A
> >      >A  A  A  > @@ -57,8 +57,9 @@ cmd_resize_pane_exec(struct cmd *self,
> >      struct
> >      >A  A  A  cmdq_item *item)
> >      >A  A  A  >AA  AA  AA  A struct sessionAA  AA  AA  AA  AA  *s =
> >      item->target.s;
> >      >A  A  A  >AA  AA  AA  A const charAA  AA  AA  AA  AA  AA  AA
> *errstr;
> >      >A  A  A  >AA  AA  AA  A charAA  AA  AA  AA  AA  AA  AA  AA  AA  AA
> >      *cause;
> >      >A  A  A  > -AA  AA  A u_intAA  AA  AA  AA  AA  AA  AA  AA  AA  AA
> >      adjust;
> >      >A  A  A  > +AA  AA  A u_intAA  AA  AA  AA  AA  AA  AA  AA  AA  AA
> >      adjust = 0;
> >      >A  A  A  >AA  AA  AA  A intAA  AA  AA  AA  AA  AA  AA  AA  AA  AA
> AA
> >      x, y;
> >      >A  A  A  > +AA  AA  AA  AA  u_intAA  AA  AA  AA  AA  AA  AA  AA
> AA
> >      AA  percentage = 0;
> >      >A  A  A  >A
> >      >A  A  A  >AA  AA  AA  A if (args_has(args, 'M')) {
> >      >A  A  A  >AA  AA  AA  AA  AA  AA  AA  A if
> >      (cmd_mouse_window(&shared->mouse, &s) ==
> >      >A  A  A  NULL)
> >      >A  A  A  > @@ -81,7 +82,29 @@ cmd_resize_pane_exec(struct cmd
> *self,
> >      struct
> >      >A  A  A  cmdq_item *item)
> >      >A  A  A  >AA  AA  AA  A }
> >      >A  A  A  >AA  AA  AA  A server_unzoom_window(w);
> >      >A  A  A  >A
> >      >A  A  A  > -AA  AA  A if (args->argc == 0)
> >      >A  A  A  > +AA  AA  AA  AA  if (args_has(args, 'p')) {
> >      >A  A  A  > +AA  AA  AA  AA  AA  AA  AA  AA  percentage =
> >      args_strtonum(args, 'p', 0,
> >      >A  A  A  INT_MAX, &cause);
> >      >A  A  A  > +AA  AA  AA  AA  AA  AA  A if (cause != NULL) {
> >      >A  A  A  > +AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  A
> cmdq_error(item,
> >      "percentage %s",
> >      >A  A  A  cause);
> >      >A  A  A  > +AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  A free(cause);
> >      >A  A  A  > +AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  A return
> >      (CMD_RETURN_ERROR);
> >      >A  A  A  > +AA  AA  AA  AA  AA  AA  A }
> >      >A  A  A  > +
> >      >A  A  A  > +AA  AA  AA  AA  AA  AA  AA  AA  /* Should not also
> have an
> >      adjustment in this
> >      >A  A  A  case. */
> >      >A  A  A  > +AA  AA  AA  AA  AA  AA  AA  AA  if (args->argc > 0) {
> >      >A  A  A  > +AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  A
> cmdq_error(item,
> >      "percentage and
> >      >A  A  A  adjustment are mutually exclusive");
> >      >A  A  A  > +AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  A return
> >      (CMD_RETURN_ERROR);
> >      >A  A  A  > +AA  AA  AA  AA  AA  AA  AA  AA  }
> >      >A  A  A  > +
> >      >A  A  A  > +AA  AA  AA  AA  AA  AA  AA  AA  /* Calculate adjustment
> >      from parent cell
> >      >A  A  A  size. */
> >      >A  A  A  > +AA  AA  AA  AA  AA  AA  AA  AA  if
> >      (wp->layout_cell->parent) { /* A cell
> >      >A  A  A  filling the terminal has no parent */
> >      >A  A  A  > +AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  if
> >      (args_has(args, 'U') ||
> >      >A  A  A  args_has(args, 'D'))
> >      >A  A  A  > +AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
> AA  AA
> >      AA  adjust =
> >      >A  A  A  (wp->layout_cell->parent->sy * percentage) / 100;
> >      >A  A  A  > +AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  else
> >      >A  A  A  > +AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA  AA
> AA  AA
> >      AA  adjust =
> >      >A  A  A  (wp->layout_cell->parent->sx * percentage) / 100;
> >      >A  A  A  > +AA  AA  AA  AA  AA  AA  AA  AA  }
> >      >A  A  A  > +AA  AA  AA  AA  }
> >      >A  A  A  > +AA  AA  A else if (args->argc == 0)
> >      >A  A  A  >AA  AA  AA  AA  AA  AA  AA  A adjust = 1;
> >      >A  A  A  >AA  AA  AA  A else {
> >      >A  A  A  >AA  AA  AA  AA  AA  AA  AA  A adjust =
> >      strtonum(args->argv[0], 1, INT_MAX,
> >      >A  A  A  &errstr);
> >      >A  A  A  > diff --git a/tmux.1 b/tmux.1
> >      >A  A  A  > index e095ba40..f548af2c 100644
> >      >A  A  A  > --- a/tmux.1
> >      >A  A  A  > +++ b/tmux.1
> >      >A  A  A  > @@ -2224,13 +2224,18 @@ if specified, to
> >      >A  A  A  >AA  .Ar new-name .
> >      >A  A  A  >AA  .It Xo Ic resize-pane
> >      >A  A  A  >AA  .Op Fl DLMRUZ
> >      >A  A  A  > +.Op Fl p Ar percentage
> >      >A  A  A  >AA  .Op Fl t Ar target-pane
> >      >A  A  A  >AA  .Op Fl x Ar width
> >      >A  A  A  >AA  .Op Fl y Ar height
> >      >A  A  A  >AA  .Op Ar adjustment
> >      >A  A  A  >AA  .Xc
> >      >A  A  A  >AA  .D1 (alias: Ic resizep )
> >      >A  A  A  > -Resize a pane, up, down, left or right by
> >      >A  A  A  > +Resize a pane, up, down, left or right by a
> >      >A  A  A  > +.Ar percentage
> >      >A  A  A  > +of the available space
> >      >A  A  A  > +.Fl p
> >      >A  A  A  > +or by
> >      >A  A  A  >AA  .Ar adjustment
> >      >A  A  A  >AA  with
> >      >A  A  A  >AA  .Fl U ,
> >      >A  A  A  > @@ -2246,7 +2251,11 @@ or
> >      >A  A  A  >AA  .Fl y .
> >      >A  A  A  >AA  The
> >      >A  A  A  >AA  .Ar adjustment
> >      >A  A  A  > -is given in lines or cells (the default is 1).
> >      >A  A  A  > +is given in lines or cells (the default is 1). The
> >      >A  A  A  > +.Ar percentage
> >      >A  A  A  > +and the
> >      >A  A  A  > +.Ar adjustment
> >      >A  A  A  > +are mutually exclusive.
> >      >A  A  A  >AA  .Pp
> >      >A  A  A  >AA  With
> >      >A  A  A  >AA  .Fl Z ,
> >
> >      > diff --git a/cmd-resize-pane.c b/cmd-resize-pane.c
> >      > index 8d35d96f..eeddabf9 100644
> >      > --- a/cmd-resize-pane.c
> >      > +++ b/cmd-resize-pane.c
> >      > @@ -35,9 +35,9 @@ const struct cmd_entry cmd_resize_pane_entry = {
> >      >A  A  A  A .name = "resize-pane",
> >      >A  A  A  A .alias = "resizep",
> >      >A
> >      > -A  A  A .args = { "DLMRt:Ux:y:Z", 0, 1 },
> >      > +A  A  A .args = { "DLMp:Rt:Ux:y:Z", 0, 1 },
> >      >A  A  A  A .usage = "[-DLMRUZ] [-x width] [-y height] "
> >      CMD_TARGET_PANE_USAGE " "
> >      > -A  A  A  A  A  A  A  "[adjustment]",
> >      > +A  A  A  A  A  A  A  "[-p percentage] [adjustment]",
> >      >A
> >      >A  A  A  A .target = { 't', CMD_FIND_PANE, 0 },
> >      >A
> >      > @@ -55,9 +55,10 @@ cmd_resize_pane_exec(struct cmd *self, struct
> >      cmdq_item *item)
> >      >A  A  A  A struct windowA  A  A  A  A  A *w = wl->window;
> >      >A  A  A  A struct clientA  A  A  A  A  A *c = item->client;
> >      >A  A  A  A struct sessionA  A  A  A  A  *s = item->target.s;
> >      > +A  A  A struct layout_cellA  A  A  *rootlc;
> >      >A  A  A  A const charA  A  A  A  A  A  A  *errstr;
> >      >A  A  A  A charA  A  A  A  A  A  A  A  A  A  *cause;
> >      > -A  A  A u_intA  A  A  A  A  A  A  A  A  A  adjust;
> >      > +A  A  A u_intA  A  A  A  A  A  A  A  A  A  adjust = 0,
> percentage =
> >      0;
> >      >A  A  A  A intA  A  A  A  A  A  A  A  A  A  A  x, y;
> >      >A
> >      >A  A  A  A if (args_has(args, 'M')) {
> >      > @@ -81,7 +82,33 @@ cmd_resize_pane_exec(struct cmd *self, struct
> >      cmdq_item *item)
> >      >A  A  A  A }
> >      >A  A  A  A server_unzoom_window(w);
> >      >A
> >      > -A  A  A if (args->argc == 0)
> >      > +A  A  A if (args_has(args, 'p')) {
> >      > +A  A  A  A  A  A  A percentage = args_strtonum(args, 'p', 0,
> INT_MAX,
> >      &cause);
> >      > +A  A  A  A  A  A  A if (cause != NULL) {
> >      > +A  A  A  A  A  A  A  A  A  A  A cmdq_error(item, "percentage %s",
> >      cause);
> >      > +A  A  A  A  A  A  A  A  A  A  A free(cause);
> >      > +A  A  A  A  A  A  A  A  A  A  A return (CMD_RETURN_ERROR);
> >      > +A  A  A  A  A  A  A }
> >      > +
> >      > +A  A  A  A  A  A  A /* Should not also have an adjustment in this
> >      case. */
> >      > +A  A  A  A  A  A  A if (args->argc > 0) {
> >      > +A  A  A  A  A  A  A  A  A  A  A cmdq_error(item, "percentage and
> >      adjustment "
> >      > +A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A "are
> mutually
> >      exclusive");
> >      > +A  A  A  A  A  A  A  A  A  A  A return (CMD_RETURN_ERROR);
> >      > +A  A  A  A  A  A  A }
> >      > +
> >      > +A  A  A  A  A  A  A /* Find the root layout cell */
> >      > +A  A  A  A  A  A  A rootlc = wp->layout_cell;
> >      > +A  A  A  A  A  A  A while (rootlc->parent)
> >      > +A  A  A  A  A  A  A  A  A  A  A rootlc = rootlc->parent;
> >      > +
> >      > +A  A  A  A  A  A  A /* Calculate adjustment from the root cell
> size.
> >      */
> >      > +A  A  A  A  A  A  A if (args_has(args, 'U') || args_has(args,
> 'D'))
> >      > +A  A  A  A  A  A  A  A  A  A  A adjust = (rootlc->sy *
> percentage) /
> >      100;
> >      > +A  A  A  A  A  A  A else
> >      > +A  A  A  A  A  A  A  A  A  A  A adjust = (rootlc->sx *
> percentage) /
> >      100;
> >      > +A  A  A }
> >      > +A  A  A else if (args->argc == 0)
> >      >A  A  A  A  A  A  A  A adjust = 1;
> >      >A  A  A  A else {
> >      >A  A  A  A  A  A  A  A adjust = strtonum(args->argv[0], 1, INT_MAX,
> >      &errstr);
> >      > diff --git a/tmux.1 b/tmux.1
> >      > index e095ba40..41066ddc 100644
> >      > --- a/tmux.1
> >      > +++ b/tmux.1
> >      > @@ -2224,13 +2224,18 @@ if specified, to
> >      >A  .Ar new-name .
> >      >A  .It Xo Ic resize-pane
> >      >A  .Op Fl DLMRUZ
> >      > +.Op Fl p Ar percentage
> >      >A  .Op Fl t Ar target-pane
> >      >A  .Op Fl x Ar width
> >      >A  .Op Fl y Ar height
> >      >A  .Op Ar adjustment
> >      >A  .Xc
> >      >A  .D1 (alias: Ic resizep )
> >      > -Resize a pane, up, down, left or right by
> >      > +Resize a pane, up, down, left or right by a
> >      > +.Ar percentage
> >      > +of the available space
> >      > +.Fl p
> >      > +or by
> >      >A  .Ar adjustment
> >      >A  with
> >      >A  .Fl U ,
> >      > @@ -2246,7 +2251,12 @@ or
> >      >A  .Fl y .
> >      >A  The
> >      >A  .Ar adjustment
> >      > -is given in lines or cells (the default is 1).
> >      > +is given in lines or columns (the default is 1).
> >      > +The
> >      > +.Ar percentage
> >      > +and the
> >      > +.Ar adjustment
> >      > +are mutually exclusive.
> >      >A  .Pp
> >      >A  With
> >      >A  .Fl Z ,
>

-- 
You received this message because you are subscribed to the Google Groups 
"tmux-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web, visit 
https://groups.google.com/d/msgid/tmux-users/CAN%2Bi5iNGaVu0tb8d%3D%2B0hs_uiaADYGY7T3agbkgqnSPgj6YdqWA%40mail.gmail.com.

Reply via email to