The branch, master has been updated
       via  e33ba57c13139bc9ae6e92be169de6dc322e38eb (commit)
      from  44f8e1caffce2e887682c3314ee22becc09e1d3c (commit)

- Log -----------------------------------------------------------------
commit e33ba57c13139bc9ae6e92be169de6dc322e38eb
Author: Nicholas Marriott <n...@openbsd.org>
Commit: Nicholas Marriott <n...@openbsd.org>

    Remove the layout undo/redo code which never really worked.
---
 cmd-resize-pane.c   |    1 -
 cmd-select-layout.c |   45 +++++++------------------------
 key-bindings.c      |    2 -
 layout.c            |   72 ---------------------------------------------------
 options-table.c     |    7 -----
 tmux.1              |   16 +----------
 tmux.h              |   16 +----------
 window.c            |    1 -
 8 files changed, 12 insertions(+), 148 deletions(-)

diff --git a/cmd-resize-pane.c b/cmd-resize-pane.c
index 4842d41..c200ee1 100644
--- a/cmd-resize-pane.c
+++ b/cmd-resize-pane.c
@@ -103,7 +103,6 @@ cmd_resize_pane_exec(struct cmd *self, struct cmd_ctx *ctx)
                }
        }
 
-       layout_list_add(wp->window);
        if (args_has(self->args, 'L'))
                layout_resize_pane(wp, LAYOUT_LEFTRIGHT, -adjust);
        else if (args_has(self->args, 'R'))
diff --git a/cmd-select-layout.c b/cmd-select-layout.c
index 982c0b2..3ca8766 100644
--- a/cmd-select-layout.c
+++ b/cmd-select-layout.c
@@ -29,8 +29,8 @@ enum cmd_retval        cmd_select_layout_exec(struct cmd *, 
struct cmd_ctx *);
 
 const struct cmd_entry cmd_select_layout_entry = {
        "select-layout", "selectl",
-       "nprut:", 0, 1,
-       "[-npUu] " CMD_TARGET_WINDOW_USAGE " [layout-name]",
+       "npt:", 0, 1,
+       "[-np] " CMD_TARGET_WINDOW_USAGE " [layout-name]",
        0,
        cmd_select_layout_key_binding,
        NULL,
@@ -76,14 +76,6 @@ cmd_select_layout_key_binding(struct cmd *self, int key)
        case '5' | KEYC_ESCAPE:
                self->args = args_create(1, "tiled");
                break;
-       case 'u':
-               self->args = args_create(0);
-               args_set(self->args, 'u', NULL);
-               break;
-       case 'U':
-               self->args = args_create(0);
-               args_set(self->args, 'U', NULL);
-               break;
        default:
                self->args = args_create(0);
                break;
@@ -110,21 +102,6 @@ cmd_select_layout_exec(struct cmd *self, struct cmd_ctx 
*ctx)
        if (args_has(self->args, 'p'))
                previous = 1;
 
-       layout_list_add(w);
-       if (args_has(self->args, 'U')) {
-               if ((layoutname = layout_list_redo(w)) == NULL) {
-                       ctx->info(ctx, "no more layout history");
-                       return (CMD_RETURN_ERROR);
-               }
-               goto set_layout;
-       } else if (args_has(self->args, 'u')) {
-               if ((layoutname = layout_list_undo(w)) == NULL) {
-                       ctx->info(ctx, "no more layout history");
-                       return (CMD_RETURN_ERROR);
-               }
-               goto set_layout;
-       }
-
        if (next || previous) {
                if (next)
                        layout = layout_set_next(wl->window);
@@ -146,16 +123,14 @@ cmd_select_layout_exec(struct cmd *self, struct cmd_ctx 
*ctx)
                return (CMD_RETURN_NORMAL);
        }
 
-       if (args->argc == 0)
-               return (CMD_RETURN_NORMAL);
-       layoutname = args->argv[0];
-
-set_layout:
-       if (layout_parse(wl->window, layoutname) == -1) {
-               ctx->error(ctx, "can't set layout: %s", layoutname);
-               return (CMD_RETURN_ERROR);
+       if (args->argc != 0) {
+               layoutname = args->argv[0];
+               if (layout_parse(wl->window, layoutname) == -1) {
+                       ctx->error(ctx, "can't set layout: %s", layoutname);
+                       return (CMD_RETURN_ERROR);
+               }
+               server_redraw_window(wl->window);
+               ctx->info(ctx, "arranging in: %s", layoutname);
        }
-       server_redraw_window(wl->window);
-       ctx->info(ctx, "arranging in: %s", layoutname);
        return (CMD_RETURN_NORMAL);
 }
diff --git a/key-bindings.c b/key-bindings.c
index 8434cc0..5ebde40 100644
--- a/key-bindings.c
+++ b/key-bindings.c
@@ -130,7 +130,6 @@ key_bindings_init(void)
                { '?',                    0, &cmd_list_keys_entry },
                { 'D',                    0, &cmd_choose_client_entry },
                { 'L',                    0, &cmd_switch_client_entry },
-               { 'U',                    1, &cmd_select_layout_entry },
                { '[',                    0, &cmd_copy_mode_entry },
                { '\'',                   0, &cmd_command_prompt_entry },
                { '\002', /* C-b */       0, &cmd_send_prefix_entry },
@@ -149,7 +148,6 @@ key_bindings_init(void)
                { 'r',                    0, &cmd_refresh_client_entry },
                { 's',                    0, &cmd_choose_tree_entry },
                { 't',                    0, &cmd_clock_mode_entry },
-               { 'u',                    1, &cmd_select_layout_entry },
                { 'w',                    0, &cmd_choose_window_entry },
                { 'x',                    0, &cmd_confirm_before_entry },
                { '{',                    0, &cmd_swap_pane_entry },
diff --git a/layout.c b/layout.c
index adae0ec..7c13b53 100644
--- a/layout.c
+++ b/layout.c
@@ -19,7 +19,6 @@
 #include <sys/types.h>
 
 #include <stdlib.h>
-#include <string.h>
 
 #include "tmux.h"
 
@@ -747,74 +746,3 @@ layout_close_pane(struct window_pane *wp)
        }
        notify_window_layout_changed(wp->window);
 }
-
-/* Add layout to list. */
-void
-layout_list_add(struct window *w)
-{
-       struct last_layout      *ll, *ll_last;
-       char                    *layout;
-       u_int                    limit;
-
-       layout = layout_dump(w);
-
-       ll_last = w->layout_list_last;
-       if (ll_last != NULL && strcmp(ll_last->layout, layout) == 0) {
-               free(layout);
-               return;
-       }
-
-       ll = xmalloc(sizeof *ll);
-       ll->layout = layout;
-       if (ll_last == NULL)
-               TAILQ_INSERT_TAIL(&w->layout_list, ll, entry);
-       else
-               TAILQ_INSERT_AFTER(&w->layout_list, ll_last, ll, entry);
-       w->layout_list_size++;
-       w->layout_list_last = ll;
-
-       limit = options_get_number(&w->options, "layout-history-limit");
-       while (w->layout_list_size > limit) {
-               ll = TAILQ_LAST(&w->layout_list, last_layouts);
-               if (ll == w->layout_list_last)
-                       ll = TAILQ_FIRST(&w->layout_list);
-
-               TAILQ_REMOVE(&w->layout_list, ll, entry);
-               w->layout_list_size--;
-
-               free(ll->layout);
-               free(ll);
-       }
-}
-
-/* Apply next layout from list. */
-const char *
-layout_list_redo(struct window *w)
-{
-       struct last_layout      *ll, *ll_last;
-
-       ll_last = w->layout_list_last;
-       if (ll_last == NULL)
-               return (NULL);
-       ll = TAILQ_NEXT(ll_last, entry);
-       if (ll == NULL)
-               return (NULL);
-       w->layout_list_last = ll;
-       return (ll->layout);
-}
-
-/* Apply previous layout from list. */
-const char *
-layout_list_undo(struct window *w)
-{
-       struct last_layout      *ll, *ll_last;
-
-       ll_last = w->layout_list_last;
-       if (ll_last == NULL)
-               return (NULL);
-       ll = TAILQ_PREV(ll_last, last_layouts, entry);
-       if (ll == NULL)
-               return (NULL);
-       w->layout_list_last = ll;
-       return (ll->layout);
-}
diff --git a/options-table.c b/options-table.c
index 9baf683..529b3c2 100644
--- a/options-table.c
+++ b/options-table.c
@@ -517,13 +517,6 @@ const struct options_table_entry window_options_table[] = {
          .default_num = 0
        },
 
-       { .name = "layout-history-limit",
-         .type = OPTIONS_TABLE_NUMBER,
-         .minimum = 1,
-         .maximum = USHRT_MAX,
-         .default_num = 20
-       },
-
        { .name = "main-pane-height",
          .type = OPTIONS_TABLE_NUMBER,
          .minimum = 1,
diff --git a/tmux.1 b/tmux.1
index 975aa10..ceebfce 100644
--- a/tmux.1
+++ b/tmux.1
@@ -1601,7 +1601,7 @@ lower) with
 .Fl U
 or downward (numerically higher).
 .It Xo Ic select-layout
-.Op Fl npUu
+.Op Fl np
 .Op Fl t Ar target-window
 .Op Ar layout-name
 .Xc
@@ -1618,13 +1618,6 @@ are equivalent to the
 and
 .Ic previous-layout
 commands.
-.Pp
-.Fl U
-and
-.Fl u
-step forward and back through previous layouts, up to the maximum set by the
-.Ic layout-history-limit
-option.
 .It Xo Ic select-pane
 .Op Fl lDLRU
 .Op Fl t Ar target-pane
@@ -2677,13 +2670,6 @@ or
 .Ar height .
 A value of zero restores the default unlimited setting.
 .Pp
-.It Ic layout-history-limit Ar limit
-Set the number of previous layouts stored for recovery with
-.Ic select-layout
-.Fl U
-and
-.Fl u .
-.Pp
 .It Ic main-pane-height Ar height
 .It Ic main-pane-width Ar width
 Set the width or height of the main (left or top) pane in the
diff --git a/tmux.h b/tmux.h
index d790dd2..9c062d6 100644
--- a/tmux.h
+++ b/tmux.h
@@ -974,13 +974,6 @@ struct window_pane {
 TAILQ_HEAD(window_panes, window_pane);
 RB_HEAD(window_pane_tree, window_pane);
 
-/* Window last layout. */
-struct last_layout {
-       char    *layout;
-
-       TAILQ_ENTRY(last_layout) entry;
-};
-
 /* Window structure. */
 struct window {
        u_int            id;
@@ -994,9 +987,6 @@ struct window {
 
        int              lastlayout;
        struct layout_cell *layout_root;
-       TAILQ_HEAD(last_layouts, last_layout) layout_list;
-       u_int            layout_list_size;
-       struct last_layout *layout_list_last;
 
        u_int            sx;
        u_int            sy;
@@ -2179,8 +2169,7 @@ u_int              layout_count_cells(struct layout_cell 
*);
 struct layout_cell *layout_create_cell(struct layout_cell *);
 void            layout_free_cell(struct layout_cell *);
 void            layout_print_cell(struct layout_cell *, const char *, u_int);
-void            layout_destroy_cell(
-                    struct layout_cell *, struct layout_cell **);
+void            layout_destroy_cell(struct layout_cell *, struct layout_cell 
**);
 void            layout_set_size(
                     struct layout_cell *, u_int, u_int, u_int, u_int);
 void            layout_make_leaf(
@@ -2201,9 +2190,6 @@ void               layout_assign_pane(struct layout_cell 
*, struct window_pane *);
 struct layout_cell *layout_split_pane(
                     struct window_pane *, enum layout_type, int, int);
 void            layout_close_pane(struct window_pane *);
-void            layout_list_add(struct window *);
-const char     *layout_list_redo(struct window *);
-const char     *layout_list_undo(struct window *);
 
 /* layout-custom.c */
 char           *layout_dump(struct window *);
diff --git a/window.c b/window.c
index 97e5b4a..9716845 100644
--- a/window.c
+++ b/window.c
@@ -286,7 +286,6 @@ window_create1(u_int sx, u_int sy)
 
        w->lastlayout = -1;
        w->layout_root = NULL;
-       TAILQ_INIT(&w->layout_list);
 
        w->sx = sx;
        w->sy = sy;


-----------------------------------------------------------------------

Summary of changes:
 cmd-resize-pane.c   |    1 -
 cmd-select-layout.c |   45 +++++++------------------------
 key-bindings.c      |    2 -
 layout.c            |   72 ---------------------------------------------------
 options-table.c     |    7 -----
 tmux.1              |   16 +----------
 tmux.h              |   16 +----------
 window.c            |    1 -
 8 files changed, 12 insertions(+), 148 deletions(-)


hooks/post-receive
-- 
tmux

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
_______________________________________________
tmux-cvs mailing list
tmux-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-cvs

Reply via email to