tmux
3.2a
About: tmux is a terminal multiplexer that lets you switch easily between several programs in one terminal.
![]() ![]() |
Go to the source code of this file.
Functions | |
static u_int | layout_resize_check (struct window *, struct layout_cell *, enum layout_type) |
static int | layout_resize_pane_grow (struct window *, struct layout_cell *, enum layout_type, int, int) |
static int | layout_resize_pane_shrink (struct window *, struct layout_cell *, enum layout_type, int) |
static u_int | layout_new_pane_size (struct window *, u_int, struct layout_cell *, enum layout_type, u_int, u_int, u_int) |
static int | layout_set_size_check (struct window *, struct layout_cell *, enum layout_type, int) |
static void | layout_resize_child_cells (struct window *, struct layout_cell *) |
struct layout_cell * | layout_create_cell (struct layout_cell *lcparent) |
void | layout_free_cell (struct layout_cell *lc) |
void | layout_print_cell (struct layout_cell *lc, const char *hdr, u_int n) |
struct layout_cell * | layout_search_by_border (struct layout_cell *lc, u_int x, u_int y) |
void | layout_set_size (struct layout_cell *lc, u_int sx, u_int sy, u_int xoff, u_int yoff) |
void | layout_make_leaf (struct layout_cell *lc, struct window_pane *wp) |
void | layout_make_node (struct layout_cell *lc, enum layout_type type) |
static void | layout_fix_offsets1 (struct layout_cell *lc) |
void | layout_fix_offsets (struct window *w) |
static int | layout_cell_is_top (struct window *w, struct layout_cell *lc) |
static int | layout_cell_is_bottom (struct window *w, struct layout_cell *lc) |
static int | layout_add_border (struct window *w, struct layout_cell *lc, int status) |
void | layout_fix_panes (struct window *w, struct window_pane *skip) |
u_int | layout_count_cells (struct layout_cell *lc) |
void | layout_resize_adjust (struct window *w, struct layout_cell *lc, enum layout_type type, int change) |
void | layout_destroy_cell (struct window *w, struct layout_cell *lc, struct layout_cell **lcroot) |
void | layout_init (struct window *w, struct window_pane *wp) |
void | layout_free (struct window *w) |
void | layout_resize (struct window *w, u_int sx, u_int sy) |
void | layout_resize_pane_to (struct window_pane *wp, enum layout_type type, u_int new_size) |
void | layout_resize_layout (struct window *w, struct layout_cell *lc, enum layout_type type, int change, int opposite) |
void | layout_resize_pane (struct window_pane *wp, enum layout_type type, int change, int opposite) |
void | layout_assign_pane (struct layout_cell *lc, struct window_pane *wp, int do_not_resize) |
struct layout_cell * | layout_split_pane (struct window_pane *wp, enum layout_type type, int size, int flags) |
void | layout_close_pane (struct window_pane *wp) |
int | layout_spread_cell (struct window *w, struct layout_cell *parent) |
void | layout_spread_out (struct window_pane *wp) |
|
static |
Definition at line 278 of file layout.c.
References layout_cell_is_bottom(), layout_cell_is_top(), PANE_STATUS_BOTTOM, and PANE_STATUS_TOP.
Referenced by layout_fix_panes(), layout_resize_check(), layout_split_pane(), and layout_spread_cell().
void layout_assign_pane | ( | struct layout_cell * | lc, |
struct window_pane * | wp, | ||
int | do_not_resize | ||
) |
Definition at line 707 of file layout.c.
References layout_fix_panes(), layout_make_leaf(), window_pane::window, and layout_cell::wp.
Referenced by spawn_pane().
|
static |
Definition at line 259 of file layout.c.
References layout_cell::cells, window::layout_root, LAYOUT_TOPBOTTOM, layout_cell::parent, and layout_cell::type.
Referenced by layout_add_border().
|
static |
Definition at line 243 of file layout.c.
References layout_cell::cells, window::layout_root, LAYOUT_TOPBOTTOM, layout_cell::parent, and layout_cell::type.
Referenced by layout_add_border().
void layout_close_pane | ( | struct window_pane * | wp | ) |
Definition at line 1037 of file layout.c.
References window_pane::layout_cell, layout_destroy_cell(), layout_fix_offsets(), layout_fix_panes(), window::layout_root, notify_window(), and window_pane::window.
Referenced by server_destroy_pane(), server_kill_pane(), and spawn_pane().
u_int layout_count_cells | ( | struct layout_cell * | lc | ) |
Definition at line 314 of file layout.c.
References layout_cell::cells, fatalx(), LAYOUT_LEFTRIGHT, LAYOUT_TOPBOTTOM, LAYOUT_WINDOWPANE, and layout_cell::type.
Referenced by layout_parse().
struct layout_cell* layout_create_cell | ( | struct layout_cell * | lcparent | ) |
Definition at line 51 of file layout.c.
References layout_cell::cells, LAYOUT_WINDOWPANE, layout_cell::parent, layout_cell::sx, layout_cell::sy, layout_cell::type, layout_cell::wp, xmalloc(), layout_cell::xoff, and layout_cell::yoff.
Referenced by layout_construct(), layout_init(), layout_set_even(), layout_set_main_h(), layout_set_main_v(), layout_set_tiled(), and layout_split_pane().
void layout_destroy_cell | ( | struct window * | w, |
struct layout_cell * | lc, | ||
struct layout_cell ** | lcroot | ||
) |
Definition at line 428 of file layout.c.
References layout_cell::cells, layout_free_cell(), LAYOUT_LEFTRIGHT, layout_resize_adjust(), layout_cell::parent, layout_cell::sx, layout_cell::sy, layout_cell::type, layout_cell::xoff, and layout_cell::yoff.
Referenced by layout_close_pane(), and layout_parse().
void layout_fix_offsets | ( | struct window * | w | ) |
Definition at line 231 of file layout.c.
References layout_fix_offsets1(), window::layout_root, layout_cell::xoff, and layout_cell::yoff.
Referenced by layout_close_pane(), layout_parse(), layout_resize(), layout_resize_layout(), layout_set_even(), layout_set_main_h(), layout_set_main_v(), layout_set_tiled(), layout_split_pane(), and layout_spread_out().
|
static |
Definition at line 203 of file layout.c.
References layout_cell::cells, LAYOUT_LEFTRIGHT, LAYOUT_WINDOWPANE, layout_cell::sx, layout_cell::sy, layout_cell::type, layout_cell::xoff, and layout_cell::yoff.
Referenced by layout_fix_offsets().
void layout_fix_panes | ( | struct window * | w, |
struct window_pane * | skip | ||
) |
Definition at line 289 of file layout.c.
References layout_add_border(), window_pane::layout_cell, window::options, options_get_number(), PANE_STATUS_TOP, window::panes, layout_cell::sx, layout_cell::sy, window_pane_resize(), layout_cell::wp, window_pane::xoff, layout_cell::xoff, window_pane::yoff, and layout_cell::yoff.
Referenced by layout_assign_pane(), layout_close_pane(), layout_init(), layout_parse(), layout_resize(), layout_resize_layout(), layout_set_even(), layout_set_main_h(), layout_set_main_v(), layout_set_tiled(), layout_spread_out(), options_push_changes(), and window_unzoom().
void layout_free | ( | struct window * | w | ) |
Definition at line 489 of file layout.c.
References layout_free_cell(), and window::layout_root.
Referenced by layout_set_even(), layout_set_main_h(), layout_set_main_v(), layout_set_tiled(), spawn_window(), and window_unzoom().
void layout_free_cell | ( | struct layout_cell * | lc | ) |
Definition at line 73 of file layout.c.
References layout_cell::cells, window_pane::layout_cell, LAYOUT_LEFTRIGHT, LAYOUT_TOPBOTTOM, LAYOUT_WINDOWPANE, layout_cell::type, and layout_cell::wp.
Referenced by layout_construct(), layout_destroy_cell(), layout_free(), layout_parse(), and window_destroy().
void layout_init | ( | struct window * | w, |
struct window_pane * | wp | ||
) |
Definition at line 478 of file layout.c.
References layout_create_cell(), layout_fix_panes(), layout_make_leaf(), window::layout_root, layout_set_size(), window::sx, window::sy, and layout_cell::wp.
Referenced by spawn_pane(), spawn_window(), and window_zoom().
void layout_make_leaf | ( | struct layout_cell * | lc, |
struct window_pane * | wp | ||
) |
Definition at line 177 of file layout.c.
References layout_cell::cells, window_pane::layout_cell, LAYOUT_WINDOWPANE, layout_cell::type, and layout_cell::wp.
Referenced by layout_assign(), layout_assign_pane(), layout_init(), layout_set_even(), layout_set_main_h(), layout_set_main_v(), layout_set_tiled(), and layout_split_pane().
void layout_make_node | ( | struct layout_cell * | lc, |
enum layout_type | type | ||
) |
Definition at line 188 of file layout.c.
References layout_cell::cells, fatalx(), window_pane::layout_cell, LAYOUT_WINDOWPANE, layout_cell::type, and layout_cell::wp.
Referenced by layout_set_even(), layout_set_main_h(), layout_set_main_v(), layout_set_tiled(), and layout_split_pane().
|
static |
Definition at line 719 of file layout.c.
References LAYOUT_LEFTRIGHT, layout_resize_check(), PANE_MINIMUM, layout_cell::sx, layout_cell::sy, and layout_cell::type.
Referenced by layout_resize_child_cells(), and layout_set_size_check().
void layout_print_cell | ( | struct layout_cell * | lc, |
const char * | hdr, | ||
u_int | n | ||
) |
Definition at line 96 of file layout.c.
References layout_cell::cells, LAYOUT_LEFTRIGHT, LAYOUT_TOPBOTTOM, LAYOUT_WINDOWPANE, log_debug(), layout_cell::parent, layout_cell::sx, layout_cell::sy, layout_cell::type, layout_cell::wp, layout_cell::xoff, and layout_cell::yoff.
Referenced by layout_parse(), layout_set_even(), layout_set_main_h(), layout_set_main_v(), and layout_set_tiled().
void layout_resize | ( | struct window * | w, |
u_int | sx, | ||
u_int | sy | ||
) |
Definition at line 496 of file layout.c.
References layout_fix_offsets(), layout_fix_panes(), LAYOUT_LEFTRIGHT, layout_resize_adjust(), layout_resize_check(), window::layout_root, LAYOUT_TOPBOTTOM, layout_cell::sx, and layout_cell::sy.
Referenced by resize_window().
void layout_resize_adjust | ( | struct window * | w, |
struct layout_cell * | lc, | ||
enum layout_type | type, | ||
int | change | ||
) |
Definition at line 383 of file layout.c.
References layout_cell::cells, LAYOUT_LEFTRIGHT, layout_resize_check(), LAYOUT_WINDOWPANE, layout_cell::sx, layout_cell::sy, and layout_cell::type.
Referenced by layout_destroy_cell(), layout_resize(), layout_resize_pane_grow(), layout_resize_pane_shrink(), layout_set_tiled(), and layout_spread_cell().
|
static |
Definition at line 335 of file layout.c.
References layout_cell::cells, layout_add_border(), LAYOUT_LEFTRIGHT, LAYOUT_WINDOWPANE, window::options, options_get_number(), PANE_MINIMUM, layout_cell::sx, layout_cell::sy, and layout_cell::type.
Referenced by layout_new_pane_size(), layout_resize(), layout_resize_adjust(), layout_resize_pane_grow(), and layout_resize_pane_shrink().
|
static |
Definition at line 814 of file layout.c.
References layout_cell::cells, LAYOUT_LEFTRIGHT, layout_new_pane_size(), LAYOUT_TOPBOTTOM, LAYOUT_WINDOWPANE, layout_cell::sx, layout_cell::sy, layout_cell::type, and layout_cell::xoff.
Referenced by layout_split_pane().
void layout_resize_layout | ( | struct window * | w, |
struct layout_cell * | lc, | ||
enum layout_type | type, | ||
int | change, | ||
int | opposite | ||
) |
Definition at line 580 of file layout.c.
References layout_fix_offsets(), layout_fix_panes(), layout_resize_pane_grow(), layout_resize_pane_shrink(), notify_window(), and layout_cell::type.
Referenced by cmd_resize_pane_mouse_update(), and layout_resize_pane().
void layout_resize_pane | ( | struct window_pane * | wp, |
enum layout_type | type, | ||
int | change, | ||
int | opposite | ||
) |
Definition at line 609 of file layout.c.
References layout_cell::cells, window_pane::layout_cell, layout_resize_layout(), layout_cell::parent, layout_cell::type, window_pane::window, and layout_cell::wp.
Referenced by layout_resize_pane_to().
|
static |
Definition at line 634 of file layout.c.
References layout_resize_adjust(), layout_resize_check(), and layout_cell::type.
Referenced by layout_resize_layout().
|
static |
Definition at line 675 of file layout.c.
References layout_resize_adjust(), layout_resize_check(), and layout_cell::type.
Referenced by layout_resize_layout().
void layout_resize_pane_to | ( | struct window_pane * | wp, |
enum layout_type | type, | ||
u_int | new_size | ||
) |
Definition at line 548 of file layout.c.
References layout_cell::cells, window_pane::layout_cell, LAYOUT_LEFTRIGHT, layout_resize_pane(), layout_cell::parent, layout_cell::sx, layout_cell::sy, layout_cell::type, and layout_cell::wp.
struct layout_cell* layout_search_by_border | ( | struct layout_cell * | lc, |
u_int | x, | ||
u_int | y | ||
) |
Definition at line 130 of file layout.c.
References layout_cell::cells, LAYOUT_LEFTRIGHT, LAYOUT_TOPBOTTOM, LAYOUT_WINDOWPANE, layout_cell::sx, layout_cell::sy, layout_cell::type, layout_cell::xoff, and layout_cell::yoff.
Referenced by cmd_resize_pane_mouse_update().
void layout_set_size | ( | struct layout_cell * | lc, |
u_int | sx, | ||
u_int | sy, | ||
u_int | xoff, | ||
u_int | yoff | ||
) |
Definition at line 166 of file layout.c.
References layout_cell::sx, layout_cell::sy, layout_cell::xoff, and layout_cell::yoff.
Referenced by layout_init(), layout_set_even(), layout_set_main_h(), layout_set_main_v(), layout_set_tiled(), and layout_split_pane().
|
static |
Definition at line 757 of file layout.c.
References layout_cell::cells, LAYOUT_LEFTRIGHT, layout_new_pane_size(), LAYOUT_WINDOWPANE, PANE_MINIMUM, layout_cell::sx, layout_cell::sy, and layout_cell::type.
Referenced by layout_split_pane().
struct layout_cell* layout_split_pane | ( | struct window_pane * | wp, |
enum layout_type | type, | ||
int | size, | ||
int | flags | ||
) |
Definition at line 869 of file layout.c.
References layout_cell::cells, fatalx(), layout_add_border(), window_pane::layout_cell, layout_create_cell(), layout_fix_offsets(), LAYOUT_LEFTRIGHT, layout_make_leaf(), layout_make_node(), layout_resize_child_cells(), window::layout_root, layout_set_size(), layout_set_size_check(), LAYOUT_TOPBOTTOM, window::options, options_get_number(), PANE_MINIMUM, layout_cell::parent, SPAWN_BEFORE, SPAWN_FULLSIZE, layout_cell::sx, layout_cell::sy, layout_cell::type, window_pane::window, layout_cell::wp, layout_cell::xoff, and layout_cell::yoff.
int layout_spread_cell | ( | struct window * | w, |
struct layout_cell * | parent | ||
) |
Definition at line 1053 of file layout.c.
References layout_cell::cells, layout_add_border(), LAYOUT_LEFTRIGHT, layout_resize_adjust(), LAYOUT_TOPBOTTOM, window::options, options_get_number(), layout_cell::parent, layout_cell::sx, layout_cell::sy, and layout_cell::type.
Referenced by layout_set_even(), layout_set_main_h(), layout_set_main_v(), and layout_spread_out().
void layout_spread_out | ( | struct window_pane * | wp | ) |
Definition at line 1104 of file layout.c.
References window_pane::layout_cell, layout_fix_offsets(), layout_fix_panes(), layout_spread_cell(), layout_cell::parent, and window_pane::window.