From c1381fbb54f817b426ec6aec8e8de5c2ad37627e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Sun, 21 Jul 2019 20:15:18 +0200 Subject: [PATCH] main: no need to damage the _entire_ view on blink timer --- main.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/main.c b/main.c index 320e2595..60b6bd48 100644 --- a/main.c +++ b/main.c @@ -812,7 +812,17 @@ main(int argc, char *const *argv) term.blink_mode = term.blink_mode == BLINK_ON ? BLINK_OFF : BLINK_ON; - term_damage_view(&term); + + /* Scan all visible cells and mark rows with blinking cells dirty */ + for (int r = 0; r < term.rows; r++) { + struct row *row = grid_row_in_view(term.grid, r); + for (int col = 0; col < term.cols; col++) { + if (row->cells[col].attrs.blink) { + row->dirty = true; + break; + } + } + } if (term.frame_callback == NULL) grid_render(&term);