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)  

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

Go to the source code of this file.

Data Structures

struct  screen_sel
 
struct  screen_title_entry
 

Functions

 TAILQ_HEAD (screen_titles, screen_title_entry)
 
static void screen_resize_y (struct screen *, u_int, int, u_int *)
 
static void screen_reflow (struct screen *, u_int, u_int *, u_int *, int)
 
static void screen_free_titles (struct screen *s)
 
void screen_init (struct screen *s, u_int sx, u_int sy, u_int hlimit)
 
void screen_reinit (struct screen *s)
 
void screen_free (struct screen *s)
 
void screen_reset_tabs (struct screen *s)
 
void screen_set_cursor_style (struct screen *s, u_int style)
 
void screen_set_cursor_colour (struct screen *s, const char *colour)
 
int screen_set_title (struct screen *s, const char *title)
 
void screen_set_path (struct screen *s, const char *path)
 
void screen_push_title (struct screen *s)
 
void screen_pop_title (struct screen *s)
 
void screen_resize_cursor (struct screen *s, u_int sx, u_int sy, int reflow, int eat_empty, int cursor)
 
void screen_resize (struct screen *s, u_int sx, u_int sy, int reflow)
 
void screen_set_selection (struct screen *s, u_int sx, u_int sy, u_int ex, u_int ey, u_int rectangle, int modekeys, struct grid_cell *gc)
 
void screen_clear_selection (struct screen *s)
 
void screen_hide_selection (struct screen *s)
 
int screen_check_selection (struct screen *s, u_int px, u_int py)
 
void screen_select_cell (struct screen *s, struct grid_cell *dst, const struct grid_cell *src)
 
void screen_alternate_on (struct screen *s, struct grid_cell *gc, int cursor)
 
void screen_alternate_off (struct screen *s, struct grid_cell *gc, int cursor)
 

Function Documentation

◆ screen_alternate_off()

◆ screen_alternate_on()

◆ screen_check_selection()

int screen_check_selection ( struct screen s,
u_int  px,
u_int  py 
)

◆ screen_clear_selection()

void screen_clear_selection ( struct screen s)

Definition at line 388 of file screen.c.

References screen::sel.

Referenced by screen_reinit(), and window_copy_clear_selection().

◆ screen_free()

◆ screen_free_titles()

static void screen_free_titles ( struct screen s)
static

Definition at line 55 of file screen.c.

References screen_title_entry::text, and screen::titles.

Referenced by screen_free(), and screen_reinit().

◆ screen_hide_selection()

void screen_hide_selection ( struct screen s)

Definition at line 396 of file screen.c.

References screen_sel::hidden, and screen::sel.

Referenced by window_copy_set_selection().

◆ screen_init()

◆ screen_pop_title()

void screen_pop_title ( struct screen s)

Definition at line 211 of file screen.c.

References screen_set_title(), screen_title_entry::text, and screen::titles.

Referenced by input_csi_dispatch_winops().

◆ screen_push_title()

void screen_push_title ( struct screen s)

Definition at line 193 of file screen.c.

References screen_title_entry::text, screen::title, screen::titles, xmalloc(), and xstrdup().

Referenced by input_csi_dispatch_winops().

◆ screen_reflow()

static void screen_reflow ( struct screen s,
u_int  new_x,
u_int *  cx,
u_int *  cy,
int  cursor 
)
static

◆ screen_reinit()

◆ screen_reset_tabs()

void screen_reset_tabs ( struct screen s)

Definition at line 142 of file screen.c.

References fatal(), screen_size_x, and screen::tabs.

Referenced by screen_reinit(), screen_resize_cursor(), and screen_write_reset().

◆ screen_resize()

void screen_resize ( struct screen s,
u_int  sx,
u_int  sy,
int  reflow 
)

◆ screen_resize_cursor()

void screen_resize_cursor ( struct screen s,
u_int  sx,
u_int  sy,
int  reflow,
int  eat_empty,
int  cursor 
)

◆ screen_resize_y()

static void screen_resize_y ( struct screen s,
u_int  sy,
int  eat_empty,
u_int *  cy 
)
static

◆ screen_select_cell()

void screen_select_cell ( struct screen s,
struct grid_cell dst,
const struct grid_cell src 
)

◆ screen_set_cursor_colour()

void screen_set_cursor_colour ( struct screen s,
const char *  colour 
)

Definition at line 166 of file screen.c.

References screen::ccolour, and xstrdup().

Referenced by input_exit_osc().

◆ screen_set_cursor_style()

void screen_set_cursor_style ( struct screen s,
u_int  style 
)

Definition at line 156 of file screen.c.

References screen::cstyle, and screen::mode.

Referenced by input_csi_dispatch().

◆ screen_set_path()

void screen_set_path ( struct screen s,
const char *  path 
)

Definition at line 185 of file screen.c.

References screen::path, and utf8_stravis().

Referenced by input_exit_osc().

◆ screen_set_selection()

void screen_set_selection ( struct screen s,
u_int  sx,
u_int  sy,
u_int  ex,
u_int  ey,
u_int  rectangle,
int  modekeys,
struct grid_cell gc 
)

◆ screen_set_title()

int screen_set_title ( struct screen s,
const char *  title 
)

Definition at line 174 of file screen.c.

References screen::title, utf8_isvalid(), and xstrdup().

Referenced by input_exit_apc(), input_exit_osc(), screen_pop_title(), and window_pane_create().

◆ TAILQ_HEAD()

TAILQ_HEAD ( screen_titles  ,
screen_title_entry   
)