Sync OpenBSD patchset 732:

Custom layouts. list-windows command displays the layout as a string (such as
"bb62,159x48,0,0{79x48,0,0,79x48,80,0}") and it can be applied to another
window (with the same number of panes or fewer) using select-layout.
This commit is contained in:
Tiago Cunha
2010-07-02 02:54:52 +00:00
parent e4573de97b
commit e4703bacb5
7 changed files with 388 additions and 65 deletions

9
tmux.h
View File

@ -1,4 +1,4 @@
/* $Id: tmux.h,v 1.567 2010-07-02 02:52:13 tcunha Exp $ */
/* $Id: tmux.h,v 1.568 2010-07-02 02:54:52 tcunha Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -1849,9 +1849,11 @@ struct window_pane *window_pane_find_left(struct window_pane *);
struct window_pane *window_pane_find_right(struct window_pane *);
/* layout.c */
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_set_size(
struct layout_cell *, u_int, u_int, u_int, u_int);
void layout_make_leaf(
@ -1872,6 +1874,10 @@ struct layout_cell *layout_split_pane(
struct window_pane *, enum layout_type, int);
void layout_close_pane(struct window_pane *);
/* layout-custom.c */
char *layout_dump(struct window *);
int layout_parse(struct window *, const char *);
/* layout-set.c */
const char *layout_set_name(u_int);
int layout_set_lookup(const char *);
@ -1882,6 +1888,7 @@ void layout_set_active_changed(struct window *);
/* layout-string.c */
struct layout_cell *layout_find_string(struct window *, const char *);
struct layout_cell *layout_find_bottomright(struct layout_cell *);
/* window-clock.c */
extern const struct window_mode window_clock_mode;