Revision: 2691
          http://tmux.svn.sourceforge.net/tmux/?rev=2691&view=rev
Author:   tcunha
Date:     2012-01-31 12:03:56 +0000 (Tue, 31 Jan 2012)
Log Message:
-----------
Sync OpenBSD patchset 1020:

Add pane id to each pane in layout description (while still accepting
the old form). Based on diff from George Nachman.

Modified Paths:
--------------
    trunk/cmd-select-layout.c
    trunk/layout-custom.c

Modified: trunk/cmd-select-layout.c
===================================================================
--- trunk/cmd-select-layout.c   2012-01-31 12:03:00 UTC (rev 2690)
+++ trunk/cmd-select-layout.c   2012-01-31 12:03:56 UTC (rev 2691)
@@ -105,6 +105,7 @@
                        layout = layout_set_next(wl->window);
                else
                        layout = layout_set_previous(wl->window);
+               server_redraw_window(wl->window);
                ctx->info(ctx, "arranging in: %s", layout_set_name(layout));
                return (0);
        }
@@ -115,6 +116,7 @@
                layout = layout_set_lookup(args->argv[0]);
        if (layout != -1) {
                layout = layout_set_select(wl->window, layout);
+               server_redraw_window(wl->window);
                ctx->info(ctx, "arranging in: %s", layout_set_name(layout));
                return (0);
        }
@@ -125,6 +127,7 @@
                        ctx->error(ctx, "can't set layout: %s", layoutname);
                        return (-1);
                }
+               server_redraw_window(wl->window);
                ctx->info(ctx, "arranging in: %s", layoutname);
                return (0);
        }

Modified: trunk/layout-custom.c
===================================================================
--- trunk/layout-custom.c       2012-01-31 12:03:00 UTC (rev 2690)
+++ trunk/layout-custom.c       2012-01-31 12:03:56 UTC (rev 2691)
@@ -79,8 +79,13 @@
        if (len == 0)
                return (-1);
 
-       tmplen = xsnprintf(tmp, sizeof tmp,
-           "%ux%u,%u,%u", lc->sx, lc->sy, lc->xoff, lc->yoff);
+       if (lc->wp != NULL) {
+               tmplen = xsnprintf(tmp, sizeof tmp, "%ux%u,%u,%u,%u",
+                   lc->sx, lc->sy, lc->xoff, lc->yoff, lc->wp->id);
+       } else {
+               tmplen = xsnprintf(tmp, sizeof tmp, "%ux%u,%u,%u",
+                   lc->sx, lc->sy, lc->xoff, lc->yoff);
+       }
        if (tmplen > (sizeof tmp) - 1)
                return (-1);
        if (strlcat(buf, tmp, len) >= len)
@@ -202,7 +207,8 @@
 
        if (!isdigit((u_char) **layout))
                return (NULL);
-       if (sscanf(*layout, "%ux%u,%u,%u", &sx, &sy, &xoff, &yoff) != 4)
+       if (sscanf(*layout, "%ux%u,%u,%u,%*u", &sx, &sy, &xoff, &yoff) != 5 &&
+           sscanf(*layout, "%ux%u,%u,%u", &sx, &sy, &xoff, &yoff) != 4)
                return (NULL);
 
        while (isdigit((u_char) **layout))
@@ -222,6 +228,11 @@
        (*layout)++;
        while (isdigit((u_char) **layout))
                (*layout)++;
+       if (**layout == ',') {
+               (*layout)++;
+               while (isdigit((u_char) **layout))
+                       (*layout)++;
+       }
 
        lc = layout_create_cell(lcparent);
        lc->sx = sx;

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
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-cvs mailing list
tmux-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-cvs

Reply via email to