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-write.c File Reference
#include <sys/types.h>
#include <stdlib.h>
#include <string.h>
#include "tmux.h"
Include dependency graph for screen-write.c:

Go to the source code of this file.

Data Structures

struct  screen_write_citem
 
struct  screen_write_cline
 

Functions

static struct screen_write_citemscreen_write_collect_trim (struct screen_write_ctx *, u_int, u_int, u_int, int *)
 
static void screen_write_collect_clear (struct screen_write_ctx *, u_int, u_int)
 
static void screen_write_collect_scroll (struct screen_write_ctx *, u_int)
 
static void screen_write_collect_flush (struct screen_write_ctx *, int, const char *)
 
static int screen_write_overwrite (struct screen_write_ctx *, struct grid_cell *, u_int)
 
static const struct grid_cellscreen_write_combine (struct screen_write_ctx *, const struct utf8_data *, u_int *)
 
 TAILQ_HEAD (screen_write_citem)
 
static void screen_write_free_citem (struct screen_write_citem *ci)
 
static void screen_write_offset_timer (int fd, short events, void *data)
 
static void screen_write_set_cursor (struct screen_write_ctx *ctx, int cx, int cy)
 
static void screen_write_redraw_cb (const struct tty_ctx *ttyctx)
 
static int screen_write_set_client_cb (struct tty_ctx *ttyctx, struct client *c)
 
static void screen_write_initctx (struct screen_write_ctx *ctx, struct tty_ctx *ttyctx, int sync)
 
void screen_write_make_list (struct screen *s)
 
void screen_write_free_list (struct screen *s)
 
static void screen_write_init (struct screen_write_ctx *ctx, struct screen *s)
 
void screen_write_start_pane (struct screen_write_ctx *ctx, struct window_pane *wp, struct screen *s)
 
void screen_write_start_callback (struct screen_write_ctx *ctx, struct screen *s, screen_write_init_ctx_cb cb, void *arg)
 
void screen_write_start (struct screen_write_ctx *ctx, struct screen *s)
 
void screen_write_stop (struct screen_write_ctx *ctx)
 
void screen_write_reset (struct screen_write_ctx *ctx)
 
void screen_write_putc (struct screen_write_ctx *ctx, const struct grid_cell *gcp, u_char ch)
 
size_t screen_write_strlen (const char *fmt,...)
 
int screen_write_text (struct screen_write_ctx *ctx, u_int cx, u_int width, u_int lines, int more, const struct grid_cell *gcp, const char *fmt,...)
 
void screen_write_puts (struct screen_write_ctx *ctx, const struct grid_cell *gcp, const char *fmt,...)
 
void screen_write_nputs (struct screen_write_ctx *ctx, ssize_t maxlen, const struct grid_cell *gcp, const char *fmt,...)
 
void screen_write_vnputs (struct screen_write_ctx *ctx, ssize_t maxlen, const struct grid_cell *gcp, const char *fmt, va_list ap)
 
void screen_write_fast_copy (struct screen_write_ctx *ctx, struct screen *src, u_int px, u_int py, u_int nx, u_int ny)
 
void screen_write_hline (struct screen_write_ctx *ctx, u_int nx, int left, int right)
 
void screen_write_vline (struct screen_write_ctx *ctx, u_int ny, int top, int bottom)
 
void screen_write_menu (struct screen_write_ctx *ctx, struct menu *menu, int choice, const struct grid_cell *choice_gc)
 
void screen_write_box (struct screen_write_ctx *ctx, u_int nx, u_int ny)
 
void screen_write_preview (struct screen_write_ctx *ctx, struct screen *src, u_int nx, u_int ny)
 
void screen_write_mode_set (struct screen_write_ctx *ctx, int mode)
 
void screen_write_mode_clear (struct screen_write_ctx *ctx, int mode)
 
void screen_write_cursorup (struct screen_write_ctx *ctx, u_int ny)
 
void screen_write_cursordown (struct screen_write_ctx *ctx, u_int ny)
 
void screen_write_cursorright (struct screen_write_ctx *ctx, u_int nx)
 
void screen_write_cursorleft (struct screen_write_ctx *ctx, u_int nx)
 
void screen_write_backspace (struct screen_write_ctx *ctx)
 
void screen_write_alignmenttest (struct screen_write_ctx *ctx)
 
void screen_write_insertcharacter (struct screen_write_ctx *ctx, u_int nx, u_int bg)
 
void screen_write_deletecharacter (struct screen_write_ctx *ctx, u_int nx, u_int bg)
 
void screen_write_clearcharacter (struct screen_write_ctx *ctx, u_int nx, u_int bg)
 
void screen_write_insertline (struct screen_write_ctx *ctx, u_int ny, u_int bg)
 
void screen_write_deleteline (struct screen_write_ctx *ctx, u_int ny, u_int bg)
 
void screen_write_clearline (struct screen_write_ctx *ctx, u_int bg)
 
void screen_write_clearendofline (struct screen_write_ctx *ctx, u_int bg)
 
void screen_write_clearstartofline (struct screen_write_ctx *ctx, u_int bg)
 
void screen_write_cursormove (struct screen_write_ctx *ctx, int px, int py, int origin)
 
void screen_write_reverseindex (struct screen_write_ctx *ctx, u_int bg)
 
void screen_write_scrollregion (struct screen_write_ctx *ctx, u_int rupper, u_int rlower)
 
void screen_write_linefeed (struct screen_write_ctx *ctx, int wrapped, u_int bg)
 
void screen_write_scrollup (struct screen_write_ctx *ctx, u_int lines, u_int bg)
 
void screen_write_scrolldown (struct screen_write_ctx *ctx, u_int lines, u_int bg)
 
void screen_write_carriagereturn (struct screen_write_ctx *ctx)
 
void screen_write_clearendofscreen (struct screen_write_ctx *ctx, u_int bg)
 
void screen_write_clearstartofscreen (struct screen_write_ctx *ctx, u_int bg)
 
void screen_write_clearscreen (struct screen_write_ctx *ctx, u_int bg)
 
void screen_write_clearhistory (struct screen_write_ctx *ctx)
 
void screen_write_collect_end (struct screen_write_ctx *ctx)
 
void screen_write_collect_add (struct screen_write_ctx *ctx, const struct grid_cell *gc)
 
void screen_write_cell (struct screen_write_ctx *ctx, const struct grid_cell *gc)
 
void screen_write_setselection (struct screen_write_ctx *ctx, u_char *str, u_int len)
 
void screen_write_rawstring (struct screen_write_ctx *ctx, u_char *str, u_int len)
 
void screen_write_alternateon (struct screen_write_ctx *ctx, struct grid_cell *gc, int cursor)
 
void screen_write_alternateoff (struct screen_write_ctx *ctx, struct grid_cell *gc, int cursor)
 

Function Documentation

◆ screen_write_alignmenttest()

◆ screen_write_alternateoff()

◆ screen_write_alternateon()

◆ screen_write_backspace()

◆ screen_write_box()

◆ screen_write_carriagereturn()

void screen_write_carriagereturn ( struct screen_write_ctx ctx)

◆ screen_write_cell()

◆ screen_write_clearcharacter()

◆ screen_write_clearendofline()

◆ screen_write_clearendofscreen()

◆ screen_write_clearhistory()

void screen_write_clearhistory ( struct screen_write_ctx ctx)

Definition at line 1415 of file screen-write.c.

References screen::grid, grid_clear_history(), and screen_write_ctx::s.

Referenced by input_csi_dispatch().

◆ screen_write_clearline()

◆ screen_write_clearscreen()

◆ screen_write_clearstartofline()

◆ screen_write_clearstartofscreen()

◆ screen_write_collect_add()

◆ screen_write_collect_clear()

static void screen_write_collect_clear ( struct screen_write_ctx ctx,
u_int  y,
u_int  n 
)
static

◆ screen_write_collect_end()

◆ screen_write_collect_flush()

◆ screen_write_collect_scroll()

◆ screen_write_collect_trim()

◆ screen_write_combine()

static const struct grid_cell * screen_write_combine ( struct screen_write_ctx ctx,
const struct utf8_data ud,
u_int *  xx 
)
static

◆ screen_write_cursordown()

void screen_write_cursordown ( struct screen_write_ctx ctx,
u_int  ny 
)

◆ screen_write_cursorleft()

void screen_write_cursorleft ( struct screen_write_ctx ctx,
u_int  nx 
)

Definition at line 861 of file screen-write.c.

References screen::cx, screen::cy, screen_write_ctx::s, and screen_write_set_cursor().

Referenced by input_csi_dispatch().

◆ screen_write_cursormove()

◆ screen_write_cursorright()

void screen_write_cursorright ( struct screen_write_ctx ctx,
u_int  nx 
)

◆ screen_write_cursorup()

void screen_write_cursorup ( struct screen_write_ctx ctx,
u_int  ny 
)

◆ screen_write_deletecharacter()

◆ screen_write_deleteline()

◆ screen_write_fast_copy()

◆ screen_write_free_citem()

static void screen_write_free_citem ( struct screen_write_citem ci)
static

◆ screen_write_free_list()

void screen_write_free_list ( struct screen s)

Definition at line 224 of file screen-write.c.

References screen_write_cline::data, screen_size_y, and screen::write_list.

Referenced by screen_free(), and screen_resize_cursor().

◆ screen_write_hline()

void screen_write_hline ( struct screen_write_ctx ctx,
u_int  nx,
int  left,
int  right 
)

◆ screen_write_init()

◆ screen_write_initctx()

◆ screen_write_insertcharacter()

◆ screen_write_insertline()

◆ screen_write_linefeed()

◆ screen_write_make_list()

void screen_write_make_list ( struct screen s)

Definition at line 213 of file screen-write.c.

References screen_size_y, screen::write_list, and xcalloc().

Referenced by screen_resize_cursor(), and screen_write_init().

◆ screen_write_menu()

◆ screen_write_mode_clear()

◆ screen_write_mode_set()

void screen_write_mode_set ( struct screen_write_ctx ctx,
int  mode 
)

◆ screen_write_nputs()

void screen_write_nputs ( struct screen_write_ctx ctx,
ssize_t  maxlen,
const struct grid_cell gcp,
const char *  fmt,
  ... 
)

◆ screen_write_offset_timer()

static void screen_write_offset_timer ( int  fd,
short  events,
void *  data 
)
static

Definition at line 79 of file screen-write.c.

References tty_update_window_offset().

Referenced by screen_write_set_cursor().

◆ screen_write_overwrite()

static int screen_write_overwrite ( struct screen_write_ctx ctx,
struct grid_cell gc,
u_int  width 
)
static

◆ screen_write_preview()

◆ screen_write_putc()

◆ screen_write_puts()

void screen_write_puts ( struct screen_write_ctx ctx,
const struct grid_cell gcp,
const char *  fmt,
  ... 
)

◆ screen_write_rawstring()

void screen_write_rawstring ( struct screen_write_ctx ctx,
u_char *  str,
u_int  len 
)

◆ screen_write_redraw_cb()

static void screen_write_redraw_cb ( const struct tty_ctx ttyctx)
static

Definition at line 121 of file screen-write.c.

References tty_ctx::arg, window_pane::flags, and PANE_REDRAW.

Referenced by screen_write_initctx().

◆ screen_write_reset()

◆ screen_write_reverseindex()

◆ screen_write_scrolldown()

◆ screen_write_scrollregion()

void screen_write_scrollregion ( struct screen_write_ctx ctx,
u_int  rupper,
u_int  rlower 
)

◆ screen_write_scrollup()

◆ screen_write_set_client_cb()

◆ screen_write_set_cursor()

◆ screen_write_setselection()

void screen_write_setselection ( struct screen_write_ctx ctx,
u_char *  str,
u_int  len 
)

◆ screen_write_start()

◆ screen_write_start_callback()

void screen_write_start_callback ( struct screen_write_ctx ctx,
struct screen s,
screen_write_init_ctx_cb  cb,
void *  arg 
)

◆ screen_write_start_pane()

◆ screen_write_stop()

◆ screen_write_strlen()

size_t screen_write_strlen ( const char *  fmt,
  ... 
)

◆ screen_write_text()

int screen_write_text ( struct screen_write_ctx ctx,
u_int  cx,
u_int  width,
u_int  lines,
int  more,
const struct grid_cell gcp,
const char *  fmt,
  ... 
)

◆ screen_write_vline()

void screen_write_vline ( struct screen_write_ctx ctx,
u_int  ny,
int  top,
int  bottom 
)

◆ screen_write_vnputs()

void screen_write_vnputs ( struct screen_write_ctx ctx,
ssize_t  maxlen,
const struct grid_cell gcp,
const char *  fmt,
va_list  ap 
)

◆ TAILQ_HEAD()

TAILQ_HEAD ( screen_write_citem  )

Definition at line 55 of file screen-write.c.