mirror of
https://github.com/tmux/tmux.git
synced 2025-09-03 14:27:09 +00:00
Add a layout history which can be stepped through with select-layout -u
and -U commands (bound to 'u' and 'U' by default).
This commit is contained in:
16
tmux.h
16
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 *);
|
||||
|
Reference in New Issue
Block a user