Applied with a couple of fixes - usages need to be sorted, and you need
to free both the format itself and the return from format_expand.

Cheers


On Sun, Mar 04, 2012 at 12:08:09PM -0800, George Nachman wrote:
> Sorry for the HTML mess. I've added split-window to the patch.
> 
> On Sat, Mar 3, 2012 at 10:59 PM, Nicholas Marriott
> <nicholas.marri...@gmail.com> wrote:
> > Hi
> >
> > Your mailer seems to have converted to HTML and screwed up the patch,
> > can you either send it inline as text only or as an attachment?
> >
> > Also I guess the same -F flag should be added to split-window?
> >
> >
> > On Sat, Mar 03, 2012 at 07:01:51PM -0800, George Nachman wrote:
> >> ? ?Thanks for committing the previous patch. Here is a patch that adds a -F
> >> ? ?format arg to new-window that can be used in conjunction with -P. Note
> >> ? ?that it doesn't support any of the window pane format strings because it
> >> ? ?doesn't seem to make sense in this context.
> >> ? ?Index: cmd-new-window.c
> >> ? ?===================================================================
> >> ? ?--- cmd-new-window.c ? ?(revision 2710)
> >> ? ?+++ cmd-new-window.c ? ?(working copy)
> >> ? ?@@ -30,9 +30,9 @@
> >> ? ?*
> >> ? ?*const struct cmd_entry cmd_new_window_entry = {
> >> ? ?* ? ? ? "new-window", "neww",
> >> ? ?- ? ? ? "ac:dkn:Pt:", 0, 1,
> >> ? ?- ? ? ? "[-adk] [-c start-directory] [-n window-name] [-t 
> >> target-window] "
> >> ? ?- ? ? ? "[command]",
> >> ? ?+ ? ? ? "ac:dkn:Pt:F:", 0, 1,
> >> ? ?+ ? ? ? "[-adkP] [-c start-directory] [-n window-name] [-t 
> >> target-window]
> >> ? ?"
> >> ? ?+ ? ? ? "[-F format] [command]",
> >> ? ?* ? ? ? 0,
> >> ? ?* ? ? ? NULL,
> >> ? ?* ? ? ? NULL,
> >> ? ?@@ -42,12 +42,15 @@
> >> ? ?*int
> >> ? ?*cmd_new_window_exec(struct cmd *self, struct cmd_ctx *ctx)
> >> ? ?*{
> >> ? ?- ? ? ? struct args ? ? *args = self->args;
> >> ? ?- ? ? ? struct session ?*s;
> >> ? ?- ? ? ? struct winlink ?*wl;
> >> ? ?- ? ? ? const char * * ?*cmd, *cwd;
> >> ? ?- ? ? ? char ? ? ? ? ? ?*cause;
> >> ? ?- ? ? ? int ? ? ? ? ? ? ?idx, last, detached;
> >> ? ?+ ? ? ? struct args ? ? ? ? ? ? *args = self->args;
> >> ? ?+ ? ? ? struct session ? ? ? ? ?*s;
> >> ? ?+ ? ? ? struct winlink ? ? ? ? ?*wl;
> >> ? ?+ ? ? ? struct client ? ? ? ? ? *c;
> >> ? ?+ ? ? ? const char ? ? ? ? ? ? ?*cmd, *cwd;
> >> ? ?+ ? ? ? const char ? ? ? ? ? ? ?*template;
> >> ? ?+ ? ? ? char ? ? ? ? ? ? ? ? ? ?*cause;
> >> ? ?+ ? ? ? int ? ? ? ? ? ? ? ? ? ? ?idx, last, detached;
> >> ? ?+ ? ? ? struct format_tree ? ? ?*ft;
> >> ? ?*
> >> ? ?* ? ? ? if (args_has(args, 'a')) {
> >> ? ?* ? ? ? ? ? ? ? wl = cmd_find_window(ctx, args_get(args, 't'), &s);
> >> ? ?@@ -116,7 +119,19 @@
> >> ? ?* ? ? ? } else
> >> ? ?* ? ? ? ? ? ? ? server_status_session_group(s);
> >> ? ?*
> >> ? ?- ? ? ? if (args_has(args, 'P'))
> >> ? ?- ? ? ? ? ? ? ? ctx->print(ctx, "%s:%u", s->name, wl->idx);
> >> ? ?+ ? ? ? if (args_has(args, 'P')) {
> >> ? ?+ ? ? ? ? ? ? ? if (args_has(args, 'F'))
> >> ? ?+ ? ? ? ? ? ? ? ? ? ? ? template = args_get(args, 'F');
> >> ? ?+ ? ? ? ? ? ? ? else
> >> ? ?+ ? ? ? ? ? ? ? ?* *template = "#{session_name}:#{window_index}";
> >> ? ?+ ? ? ? ? ? ? ? c = cmd_find_client(ctx, NULL);
> >> ? ?+ ? ? ? ? ? ? ? ft = format_create();
> >> ? ?+ ? ? ? ? ? ? ? if (c != NULL)
> >> ? ?+ ? ? ? ? ? ? ? ?* *format_client(ft, c);
> >> ? ?+ ? ? ? ? ? ? ? format_session(ft, s);
> >> ? ?+ ? ? ? ? ? ? ? format_winlink(ft, s, wl);
> >> ? ?+ ? ? ? ? ? ? ? ctx->print(ctx, "%s", format_expand(ft, template));
> >> ? ?+ ? ? ? }
> >> ? ?+
> >> ? ?* ? ? ? return (0);
> >> ? ?*}
> >> ? ?Index: tmux.1
> >> ? ?===================================================================
> >> ? ?--- tmux.1 ? ? ?(revision 2710)
> >> ? ?+++ tmux.1 ? ? ?(working copy)
> >> ? ?@@ -1253,6 +1253,7 @@
> >> ? ?*.Op Fl c Ar start-directory
> >> ? ?*.Op Fl n Ar window-name
> >> ? ?*.Op Fl t Ar target-window
> >> ? ?+.Op Fl F Ar format
> >> ? ?*.Op Ar shell-command
> >> ? ?*.Xc
> >> ? ?*.D1 (alias: Ic neww )
> >> ? ?@@ -1310,7 +1311,14 @@
> >> ? ?*.Pp
> >> ? ?*The
> >> ? ?*.Fl P
> >> ? ?-option prints the location of the new window after it has been created.
> >> ? ?+option prints information about the new window after it has been 
> >> created.
> >> ? ?+By default, it uses the format
> >> ? ?+.Ql #{session_name}:#{window_index} ,
> >> ? ?+but a different format may be specified with the
> >> ? ?+.Fl F
> >> ? ?+flag with a
> >> ? ?+.Ar format
> >> ? ?+argument.
> >> ? ?*.It Ic next-layout Op Fl t Ar target-window
> >> ? ?*.D1 (alias: Ic nextl )
> >> ? ?*Move a window to the next layout and rearrange the panes to fit.



------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users

Reply via email to