diff options
author | nicm <nicm> | 2021-01-29 09:48:43 +0000 |
---|---|---|
committer | nicm <nicm> | 2021-01-29 09:48:43 +0000 |
commit | 255802d8d7357bf985bf2e4221eac8ab64b348ea (patch) | |
tree | 7381f36829cbb713bfe535bae2e5827dffb250b7 /tmux.h | |
parent | 8156d9ba416c28d76b445e5c74537c254a3bc110 (diff) | |
download | rtmux-255802d8d7357bf985bf2e4221eac8ab64b348ea.tar.gz rtmux-255802d8d7357bf985bf2e4221eac8ab64b348ea.tar.bz2 rtmux-255802d8d7357bf985bf2e4221eac8ab64b348ea.zip |
Trim output overwritten by later text or clears completely rather than
only in a few cases. This means we can better track when a line should
wrap. GitHub issue 2537.
Diffstat (limited to 'tmux.h')
-rw-r--r-- | tmux.h | 65 |
1 files changed, 29 insertions, 36 deletions
@@ -55,8 +55,8 @@ struct mouse_event; struct options; struct options_array_item; struct options_entry; -struct screen_write_collect_item; -struct screen_write_collect_line; +struct screen_write_citem; +struct screen_write_cline; struct screen_write_ctx; struct session; struct tty_ctx; @@ -794,55 +794,51 @@ struct style { struct screen_sel; struct screen_titles; struct screen { - char *title; - char *path; - struct screen_titles *titles; + char *title; + char *path; + struct screen_titles *titles; - struct grid *grid; /* grid data */ + struct grid *grid; /* grid data */ - u_int cx; /* cursor x */ - u_int cy; /* cursor y */ + u_int cx; /* cursor x */ + u_int cy; /* cursor y */ - u_int cstyle; /* cursor style */ - char *ccolour; /* cursor colour string */ + u_int cstyle; /* cursor style */ + char *ccolour; /* cursor colour string */ - u_int rupper; /* scroll region top */ - u_int rlower; /* scroll region bottom */ + u_int rupper; /* scroll region top */ + u_int rlower; /* scroll region bottom */ - int mode; + int mode; - u_int saved_cx; - u_int saved_cy; - struct grid *saved_grid; - struct grid_cell saved_cell; - int saved_flags; + u_int saved_cx; + u_int saved_cy; + struct grid *saved_grid; + struct grid_cell saved_cell; + int saved_flags; - bitstr_t *tabs; - struct screen_sel *sel; + bitstr_t *tabs; + struct screen_sel *sel; - struct screen_write_collect_line *write_list; + struct screen_write_cline *write_list; }; /* Screen write context. */ typedef void (*screen_write_init_ctx_cb)(struct screen_write_ctx *, struct tty_ctx *); struct screen_write_ctx { - struct window_pane *wp; - struct screen *s; + struct window_pane *wp; + struct screen *s; - int flags; + int flags; #define SCREEN_WRITE_SYNC 0x1 - screen_write_init_ctx_cb init_ctx_cb; - void *arg; - - struct screen_write_collect_item *item; - u_int scrolled; - u_int bg; + screen_write_init_ctx_cb init_ctx_cb; + void *arg; - u_int cells; - u_int written; - u_int skipped; + struct screen_write_citem *item; + u_int scrolled; + u_int bg; }; /* Screen redraw context. */ @@ -1001,9 +997,6 @@ struct window_pane { char *searchstr; int searchregex; - size_t written; - size_t skipped; - int border_gc_set; struct grid_cell border_gc; |