tmux  3.2a
About: tmux is a terminal multiplexer that lets you switch easily between several programs in one terminal.
  Fossies Dox: tmux-3.2a.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

layout.c File Reference
#include <sys/types.h>
#include <stdlib.h>
#include "tmux.h"
Include dependency graph for layout.c:

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_celllayout_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_celllayout_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_celllayout_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)
 

Function Documentation

◆ layout_add_border()

static int layout_add_border ( struct window w,
struct layout_cell lc,
int  status 
)
static

◆ layout_assign_pane()

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().

◆ layout_cell_is_bottom()

static int layout_cell_is_bottom ( struct window w,
struct layout_cell lc 
)
static

◆ layout_cell_is_top()

static int layout_cell_is_top ( struct window w,
struct layout_cell lc 
)
static

◆ layout_close_pane()

◆ layout_count_cells()

u_int layout_count_cells ( struct layout_cell lc)

◆ layout_create_cell()

◆ layout_destroy_cell()

void layout_destroy_cell ( struct window w,
struct layout_cell lc,
struct layout_cell **  lcroot 
)

◆ layout_fix_offsets()

◆ layout_fix_offsets1()

static void layout_fix_offsets1 ( struct layout_cell lc)
static

◆ layout_fix_panes()

◆ layout_free()

void layout_free ( struct window w)

◆ layout_free_cell()

◆ layout_init()

void layout_init ( struct window w,
struct window_pane wp 
)

◆ layout_make_leaf()

◆ layout_make_node()

◆ layout_new_pane_size()

static u_int layout_new_pane_size ( struct window w,
u_int  previous,
struct layout_cell lc,
enum layout_type  type,
u_int  size,
u_int  count_left,
u_int  size_left 
)
static

◆ layout_print_cell()

◆ layout_resize()

void layout_resize ( struct window w,
u_int  sx,
u_int  sy 
)

◆ layout_resize_adjust()

◆ layout_resize_check()

◆ layout_resize_child_cells()

static void layout_resize_child_cells ( struct window w,
struct layout_cell lc 
)
static

◆ layout_resize_layout()

void layout_resize_layout ( struct window w,
struct layout_cell lc,
enum layout_type  type,
int  change,
int  opposite 
)

◆ layout_resize_pane()

void layout_resize_pane ( struct window_pane wp,
enum layout_type  type,
int  change,
int  opposite 
)

◆ layout_resize_pane_grow()

static int layout_resize_pane_grow ( struct window w,
struct layout_cell lc,
enum layout_type  type,
int  needed,
int  opposite 
)
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().

◆ layout_resize_pane_shrink()

static int layout_resize_pane_shrink ( struct window w,
struct layout_cell lc,
enum layout_type  type,
int  needed 
)
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().

◆ layout_resize_pane_to()

void layout_resize_pane_to ( struct window_pane wp,
enum layout_type  type,
u_int  new_size 
)

◆ layout_search_by_border()

struct layout_cell* layout_search_by_border ( struct layout_cell lc,
u_int  x,
u_int  y 
)

◆ layout_set_size()

void layout_set_size ( struct layout_cell lc,
u_int  sx,
u_int  sy,
u_int  xoff,
u_int  yoff 
)

◆ layout_set_size_check()

static int layout_set_size_check ( struct window w,
struct layout_cell lc,
enum layout_type  type,
int  size 
)
static

◆ layout_split_pane()

◆ layout_spread_cell()

◆ layout_spread_out()

void layout_spread_out ( struct window_pane wp)