Sure that makes sense.

Maybe it would be better to look for a % on the number so that you do '-x 25%' 
instead of -p flag?




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

-- 
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/20191008144104.avekbhco2zqjkr7e%40yelena.

Reply via email to