summaryrefslogtreecommitdiffstats
path: root/tmux.h
diff options
context:
space:
mode:
Diffstat (limited to 'tmux.h')
-rw-r--r--tmux.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/tmux.h b/tmux.h
index 87a15485..9d8ca08a 100644
--- a/tmux.h
+++ b/tmux.h
@@ -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 *);