diff --git a/terminal.c b/terminal.c index 5e0dc65a..0840a45c 100644 --- a/terminal.c +++ b/terminal.c @@ -1626,6 +1626,19 @@ term_damage_view(struct terminal *term) term_damage_rows_in_view(term, 0, term->rows - 1); } +void +term_damage_cursor(struct terminal *term) +{ + term->grid->cur_row->cells[term->grid->cursor.point.col].attrs.clean = 0; + term->grid->cur_row->dirty = true; +} + +void +term_damage_margins(struct terminal *term) +{ + term->render.margins = true; +} + void term_damage_scroll(struct terminal *term, enum damage_type damage_type, struct scroll_region region, int lines) diff --git a/terminal.h b/terminal.h index 12e93ce2..13339c3b 100644 --- a/terminal.h +++ b/terminal.h @@ -388,6 +388,8 @@ struct terminal { bool title; } pending; + bool margins; /* Someone explicitly requested a refresh of the margins */ + int scrollback_lines; /* Number of scrollback lines, from conf (TODO: move out from render struct?) */ struct { @@ -512,6 +514,9 @@ void term_damage_rows_in_view(struct terminal *term, int start, int end); void term_damage_all(struct terminal *term); void term_damage_view(struct terminal *term); +void term_damage_cursor(struct terminal *term); +void term_damage_margins(struct terminal *term); + void term_reset_view(struct terminal *term); void term_damage_scroll(