Re: [PATCH] add -b flag to split-window

2014-11-21 Thread Felix Rosencrantz
A, B C,  D are panes.  If you start with a window with a single pane A,
and call split-window you get window split evenly vertically layout [A,B]:
A
B

Then if from B you call split-window -h you have window layout like:
[A,{B,C}]
AA
BC

If you then call split-window from C, you get a window layout like:
[A{B,[C,D]}]
AA
BC
BD

I'd like to start from layout [A,{B,C}]
AA
BC
and call split-window -a 1 from C and get layout like [A{B,C},D]:
AA
BC
DD

The '-a #' would say go up # levels in the layout cell tree for the
specified pane, and split at that level. (likewise for the join-pane
command).  With a high enough value for #, you get a true split-window
command.

-FR.

On Wed, Nov 19, 2014 at 4:53 PM, Nicholas Marriott 
nicholas.marri...@gmail.com wrote:

 I'm not clear what you are suggestion, can you give me an example?


 On Tue, Nov 18, 2014 at 05:08:13PM -0800, Felix Rosencrantz wrote:
 Like adding a -a flag to split-window/join-pane that says how many
 ancestor cells above the current pane it should split at.** So 0 is
 the
 current pane, 1 would be one cell up, etc.** Maybe some sort of
 syntax for
 the root cell, (or just a specify a very large number).** Would that
 be
 reasonable?
 -FR.
 On Thu, Nov 13, 2014 at 10:23 AM, Felix Rosencrantz
 [1]f.rosencra...@gmail.com wrote:
 
   That's great.
   I noticed this when I was trying to figure out if I could do a
 drop-down
   terminal like guake/tilda/etc.** This patch was a simple way to do
 it if
   there is only a single pane across the top, but not if the top is
 split
   with several panes.
   The TODO says it would be more correct to rename the split-window
   command to split-pane.** It would be useful to really have a command
   that actually did split/join at the window level, so there is an
 easy
   way to put a pane on the edge of a window with an arbitrarily
 complex
   layout.** To be more general, if it could be done at any level of
 the
   layout structure.
   Do you think either of those would be useful to add to tmux?** An
 actual
   split/join-window command or option to the existing commands. I
 know I
   would find that useful and have wanted that feature.
   -FR.
   On Wed, Nov 12, 2014 at 2:57 PM, Nicholas Marriott
   [2]nicholas.marri...@gmail.com wrote:
 
 Like it. Applied - thanks
 On Wed, Nov 12, 2014 at 09:40:03AM -0800, Felix Rosencrantz wrote:
 ** ** This patch adds the -b flag to split-window, which is
 consistent with the
 ** ** -b flag of the join-window command.** I like this when I
 want
 to create a
 ** ** pane above the current pane.
 ** ** -FR.
 
  diff --git a/cmd-split-window.c b/cmd-split-window.c
  index f88b2f6..e09b5a3 100644
  --- a/cmd-split-window.c
  +++ b/cmd-split-window.c
  @@ -36,8 +36,8 @@ enum cmd_retval** ** **
 cmd_split_window_exec(struct cmd *, struct cmd_q *);
 
 ** const struct cmd_entry cmd_split_window_entry = {
 ** ** ** **split-window, splitw,
  -** ** **c:dF:l:hp:Pt:v, 0, -1,
  -** ** **[-dhvP] [-c start-directory] [-F format] [-p
 percentage|-l
 size] 
  +** ** **bc:dF:l:hp:Pt:v, 0, -1,
  +** ** **[-bdhvP] [-c start-directory] [-F format] [-p
 percentage|-l size] 
 ** ** ** **CMD_TARGET_PANE_USAGE  [command],
 ** ** ** **0,
 ** ** ** **cmd_split_window_exec
  @@ -144,7 +144,7 @@ cmd_split_window_exec(struct cmd *self,
 struct
 cmd_q *cmdq)
 ** ** ** **if (*shell == '\0' || areshell(shell))
 ** ** ** ** ** ** ** **shell = _PATH_BSHELL;
 
  -** ** **if ((lc = layout_split_pane(wp, type, size, 0)) ==
 NULL) {
  +** ** **if ((lc = layout_split_pane(wp, type, size,
 args_has(args,
 'b'))) == NULL) {
 ** ** ** ** ** ** ** **cause = xstrdup(pane too small);
 ** ** ** ** ** ** ** **goto error;
 ** ** ** **}
  diff --git a/tmux.1 b/tmux.1
  index 032e5be..ddeac74 100644
  --- a/tmux.1
  +++ b/tmux.1
  @@ -1760,7 +1760,7 @@ is given and the selected window is
 already
 the current window,
 ** the command behaves like
 ** .Ic last-window .
 ** .It Xo Ic split-window
  -.Op Fl dhvP
  +.Op Fl bdhvP
 ** .Op Fl c Ar start-directory
 ** .Oo Fl l
 ** .Ar size |
  @@ -1784,6 +1784,10 @@ and
 ** .Fl p
 ** options specify the size of the new pane in lines (for
 vertical
 split) or in
 ** cells (for horizontal split), or as a percentage,
 respectively.
  +The
  +.Fl b
  +option causes the new pane to be created to the left of or
 above
  +.Ar target-pane .
 ** All other options have the same meaning as for the
 ** .Ic 

Re: [PATCH] add -b flag to split-window

2014-11-19 Thread Nicholas Marriott
I'm not clear what you are suggestion, can you give me an example?


On Tue, Nov 18, 2014 at 05:08:13PM -0800, Felix Rosencrantz wrote:
Like adding a -a flag to split-window/join-pane that says how many
ancestor cells above the current pane it should split at.** So 0 is the
current pane, 1 would be one cell up, etc.** Maybe some sort of syntax for
the root cell, (or just a specify a very large number).** Would that be
reasonable?
-FR.
On Thu, Nov 13, 2014 at 10:23 AM, Felix Rosencrantz
[1]f.rosencra...@gmail.com wrote:
 
  That's great.
  I noticed this when I was trying to figure out if I could do a drop-down
  terminal like guake/tilda/etc.** This patch was a simple way to do it if
  there is only a single pane across the top, but not if the top is split
  with several panes.
  The TODO says it would be more correct to rename the split-window
  command to split-pane.** It would be useful to really have a command
  that actually did split/join at the window level, so there is an easy
  way to put a pane on the edge of a window with an arbitrarily complex
  layout.** To be more general, if it could be done at any level of the
  layout structure.
  Do you think either of those would be useful to add to tmux?** An actual
  split/join-window command or option to the existing commands. I know I
  would find that useful and have wanted that feature.
  -FR.
  On Wed, Nov 12, 2014 at 2:57 PM, Nicholas Marriott
  [2]nicholas.marri...@gmail.com wrote:
 
Like it. Applied - thanks
On Wed, Nov 12, 2014 at 09:40:03AM -0800, Felix Rosencrantz wrote:
** ** This patch adds the -b flag to split-window, which is
consistent with the
** ** -b flag of the join-window command.** I like this when I want
to create a
** ** pane above the current pane.
** ** -FR.
 
 diff --git a/cmd-split-window.c b/cmd-split-window.c
 index f88b2f6..e09b5a3 100644
 --- a/cmd-split-window.c
 +++ b/cmd-split-window.c
 @@ -36,8 +36,8 @@ enum cmd_retval** ** **
cmd_split_window_exec(struct cmd *, struct cmd_q *);

** const struct cmd_entry cmd_split_window_entry = {
** ** ** **split-window, splitw,
 -** ** **c:dF:l:hp:Pt:v, 0, -1,
 -** ** **[-dhvP] [-c start-directory] [-F format] [-p percentage|-l
size] 
 +** ** **bc:dF:l:hp:Pt:v, 0, -1,
 +** ** **[-bdhvP] [-c start-directory] [-F format] [-p
percentage|-l size] 
** ** ** **CMD_TARGET_PANE_USAGE  [command],
** ** ** **0,
** ** ** **cmd_split_window_exec
 @@ -144,7 +144,7 @@ cmd_split_window_exec(struct cmd *self, struct
cmd_q *cmdq)
** ** ** **if (*shell == '\0' || areshell(shell))
** ** ** ** ** ** ** **shell = _PATH_BSHELL;

 -** ** **if ((lc = layout_split_pane(wp, type, size, 0)) == NULL) {
 +** ** **if ((lc = layout_split_pane(wp, type, size, args_has(args,
'b'))) == NULL) {
** ** ** ** ** ** ** **cause = xstrdup(pane too small);
** ** ** ** ** ** ** **goto error;
** ** ** **}
 diff --git a/tmux.1 b/tmux.1
 index 032e5be..ddeac74 100644
 --- a/tmux.1
 +++ b/tmux.1
 @@ -1760,7 +1760,7 @@ is given and the selected window is already
the current window,
** the command behaves like
** .Ic last-window .
** .It Xo Ic split-window
 -.Op Fl dhvP
 +.Op Fl bdhvP
** .Op Fl c Ar start-directory
** .Oo Fl l
** .Ar size |
 @@ -1784,6 +1784,10 @@ and
** .Fl p
** options specify the size of the new pane in lines (for vertical
split) or in
** cells (for horizontal split), or as a percentage, respectively.
 +The
 +.Fl b
 +option causes the new pane to be created to the left of or above
 +.Ar target-pane .
** All other options have the same meaning as for the
** .Ic new-window
** command.
 


 --
 Comprehensive Server Monitoring with Site24x7.
 Monitor 10 servers for $9/Month.
 Get alerted through email, SMS, voice calls or mobile push
notifications.
 Take corrective actions from your mobile device.


 [3]http://pubads.g.doubleclick.net/gampad/clk?id=154624111iu=/4140/ostg.clktrk
 
 ___
 tmux-users mailing list
 [4]tmux-users@lists.sourceforge.net
 [5]https://lists.sourceforge.net/lists/listinfo/tmux-users
 
 References
 
Visible links
1. mailto:f.rosencra...@gmail.com
2. mailto:nicholas.marri...@gmail.com
3. 
 http://pubads.g.doubleclick.net/gampad/clk?id=154624111iu=/4140/ostg.clktrk
 

Re: [PATCH] add -b flag to split-window

2014-11-13 Thread Felix Rosencrantz
That's great.

I noticed this when I was trying to figure out if I could do a drop-down
terminal like guake/tilda/etc.  This patch was a simple way to do it if
there is only a single pane across the top, but not if the top is split
with several panes.

The TODO says it would be more correct to rename the split-window command
to split-pane.  It would be useful to really have a command that actually
did split/join at the window level, so there is an easy way to put a pane
on the edge of a window with an arbitrarily complex layout.  To be more
general, if it could be done at any level of the layout structure.

Do you think either of those would be useful to add to tmux?  An actual
split/join-window command or option to the existing commands. I know I
would find that useful and have wanted that feature.

-FR.

On Wed, Nov 12, 2014 at 2:57 PM, Nicholas Marriott 
nicholas.marri...@gmail.com wrote:

 Like it. Applied - thanks

 On Wed, Nov 12, 2014 at 09:40:03AM -0800, Felix Rosencrantz wrote:
 This patch adds the -b flag to split-window, which is consistent with
 the
 -b flag of the join-window command.** I like this when I want to
 create a
 pane above the current pane.
 -FR.

  diff --git a/cmd-split-window.c b/cmd-split-window.c
  index f88b2f6..e09b5a3 100644
  --- a/cmd-split-window.c
  +++ b/cmd-split-window.c
  @@ -36,8 +36,8 @@ enum cmd_retval  cmd_split_window_exec(struct cmd
 *, struct cmd_q *);
 
   const struct cmd_entry cmd_split_window_entry = {
split-window, splitw,
  - c:dF:l:hp:Pt:v, 0, -1,
  - [-dhvP] [-c start-directory] [-F format] [-p percentage|-l size] 
  + bc:dF:l:hp:Pt:v, 0, -1,
  + [-bdhvP] [-c start-directory] [-F format] [-p percentage|-l size]
 
CMD_TARGET_PANE_USAGE  [command],
0,
cmd_split_window_exec
  @@ -144,7 +144,7 @@ cmd_split_window_exec(struct cmd *self, struct cmd_q
 *cmdq)
if (*shell == '\0' || areshell(shell))
shell = _PATH_BSHELL;
 
  - if ((lc = layout_split_pane(wp, type, size, 0)) == NULL) {
  + if ((lc = layout_split_pane(wp, type, size, args_has(args, 'b')))
 == NULL) {
cause = xstrdup(pane too small);
goto error;
}
  diff --git a/tmux.1 b/tmux.1
  index 032e5be..ddeac74 100644
  --- a/tmux.1
  +++ b/tmux.1
  @@ -1760,7 +1760,7 @@ is given and the selected window is already the
 current window,
   the command behaves like
   .Ic last-window .
   .It Xo Ic split-window
  -.Op Fl dhvP
  +.Op Fl bdhvP
   .Op Fl c Ar start-directory
   .Oo Fl l
   .Ar size |
  @@ -1784,6 +1784,10 @@ and
   .Fl p
   options specify the size of the new pane in lines (for vertical split)
 or in
   cells (for horizontal split), or as a percentage, respectively.
  +The
  +.Fl b
  +option causes the new pane to be created to the left of or above
  +.Ar target-pane .
   All other options have the same meaning as for the
   .Ic new-window
   command.

 
 --
  Comprehensive Server Monitoring with Site24x7.
  Monitor 10 servers for $9/Month.
  Get alerted through email, SMS, voice calls or mobile push notifications.
  Take corrective actions from your mobile device.
 
 http://pubads.g.doubleclick.net/gampad/clk?id=154624111iu=/4140/ostg.clktrk

  ___
  tmux-users mailing list
  tmux-users@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/tmux-users


--
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111iu=/4140/ostg.clktrk___
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users


Re: [PATCH] add -b flag to split-window

2014-11-12 Thread Nicholas Marriott
Like it. Applied - thanks

On Wed, Nov 12, 2014 at 09:40:03AM -0800, Felix Rosencrantz wrote:
This patch adds the -b flag to split-window, which is consistent with the
-b flag of the join-window command.** I like this when I want to create a
pane above the current pane.
-FR.

 diff --git a/cmd-split-window.c b/cmd-split-window.c
 index f88b2f6..e09b5a3 100644
 --- a/cmd-split-window.c
 +++ b/cmd-split-window.c
 @@ -36,8 +36,8 @@ enum cmd_retval  cmd_split_window_exec(struct cmd *, 
 struct cmd_q *);
  
  const struct cmd_entry cmd_split_window_entry = {
   split-window, splitw,
 - c:dF:l:hp:Pt:v, 0, -1,
 - [-dhvP] [-c start-directory] [-F format] [-p percentage|-l size] 
 + bc:dF:l:hp:Pt:v, 0, -1,
 + [-bdhvP] [-c start-directory] [-F format] [-p percentage|-l size] 
   CMD_TARGET_PANE_USAGE  [command],
   0,
   cmd_split_window_exec
 @@ -144,7 +144,7 @@ cmd_split_window_exec(struct cmd *self, struct cmd_q 
 *cmdq)
   if (*shell == '\0' || areshell(shell))
   shell = _PATH_BSHELL;
  
 - if ((lc = layout_split_pane(wp, type, size, 0)) == NULL) {
 + if ((lc = layout_split_pane(wp, type, size, args_has(args, 'b'))) == 
 NULL) {
   cause = xstrdup(pane too small);
   goto error;
   }
 diff --git a/tmux.1 b/tmux.1
 index 032e5be..ddeac74 100644
 --- a/tmux.1
 +++ b/tmux.1
 @@ -1760,7 +1760,7 @@ is given and the selected window is already the current 
 window,
  the command behaves like
  .Ic last-window .
  .It Xo Ic split-window
 -.Op Fl dhvP
 +.Op Fl bdhvP
  .Op Fl c Ar start-directory
  .Oo Fl l
  .Ar size |
 @@ -1784,6 +1784,10 @@ and
  .Fl p
  options specify the size of the new pane in lines (for vertical split) or in
  cells (for horizontal split), or as a percentage, respectively.
 +The
 +.Fl b
 +option causes the new pane to be created to the left of or above
 +.Ar target-pane .
  All other options have the same meaning as for the
  .Ic new-window
  command.

 --
 Comprehensive Server Monitoring with Site24x7.
 Monitor 10 servers for $9/Month.
 Get alerted through email, SMS, voice calls or mobile push notifications.
 Take corrective actions from your mobile device.
 http://pubads.g.doubleclick.net/gampad/clk?id=154624111iu=/4140/ostg.clktrk

 ___
 tmux-users mailing list
 tmux-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/tmux-users


--
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111iu=/4140/ostg.clktrk
___
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users