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.
