diff options
author | Nicholas Marriott <nicm@openbsd.org> | 2012-04-01 13:18:38 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@openbsd.org> | 2012-04-01 13:18:38 +0000 |
commit | 85f5485cb5e46d6d574b7a1b8c1357c85b528e2b (patch) | |
tree | 302c5d6ffd1bc655d2ab33c808df7d0cc1e2acf2 /tmux.h | |
parent | b831f8635409883e2ad2b6feedf05821f8f2ea84 (diff) |
Add a layout history which can be stepped through with select-layout -u
and -U commands (bound to 'u' and 'U' by default).
Diffstat (limited to 'tmux.h')
-rw-r--r-- | tmux.h | 16 |
1 files changed, 15 insertions, 1 deletions
@@ -851,6 +851,13 @@ 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; @@ -864,6 +871,9 @@ 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; @@ -1998,7 +2008,8 @@ 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( @@ -2020,6 +2031,9 @@ 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 *); |