aboutsummaryrefslogtreecommitdiff
path: root/tmux.h
diff options
context:
space:
mode:
authorTiago Cunha <tcunha@gmx.com>2012-04-10 09:52:45 +0000
committerTiago Cunha <tcunha@gmx.com>2012-04-10 09:52:45 +0000
commitf99de22808b8e3c2b8aabf70b945f768ae892dda (patch)
tree07e7ba338344d6dbecb6d0af381f47a8dc6672df /tmux.h
parentb58d7f78a1c7c6755321e97046307db1d295c2d6 (diff)
downloadrtmux-f99de22808b8e3c2b8aabf70b945f768ae892dda.tar.gz
rtmux-f99de22808b8e3c2b8aabf70b945f768ae892dda.tar.bz2
rtmux-f99de22808b8e3c2b8aabf70b945f768ae892dda.zip
Sync OpenBSD patchset 1084:
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.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/tmux.h b/tmux.h
index 077200ae..d58166af 100644
--- a/tmux.h
+++ b/tmux.h
@@ -847,6 +847,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;
@@ -860,6 +867,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;
@@ -1994,7 +2004,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(
@@ -2016,6 +2027,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 *);