summaryrefslogtreecommitdiffstats
path: root/tmux.h
diff options
context:
space:
mode:
authornicm <nicm>2021-01-29 09:48:43 +0000
committernicm <nicm>2021-01-29 09:48:43 +0000
commit255802d8d7357bf985bf2e4221eac8ab64b348ea (patch)
tree7381f36829cbb713bfe535bae2e5827dffb250b7 /tmux.h
parent8156d9ba416c28d76b445e5c74537c254a3bc110 (diff)
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.h65
1 files changed, 29 insertions, 36 deletions
diff --git a/tmux.h b/tmux.h
index c593a175..ce45cece 100644
--- a/tmux.h
+++ b/tmux.h
@@ -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;