term: cursor blink: cursor refresh now dirties the cursor cell

Normally we don't dirty the cell on cursor movement. But, since a
blinking cursor isn't a cursor that has moved, our normal cursor
rendering wont work.

Dirty the cursor cell to force a redraw of it.
This commit is contained in:
Daniel Eklöf 2019-12-16 21:31:40 +01:00
parent 7d29435d86
commit d490cc84c0
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 45 additions and 5 deletions

View file

@ -233,6 +233,7 @@ struct terminal {
enum cursor_style default_cursor_style;
enum cursor_style cursor_style;
struct {
bool active;
enum { CURSOR_BLINK_ON, CURSOR_BLINK_OFF } state;
int fd;
} cursor_blink;
@ -351,6 +352,7 @@ void term_cursor_up(struct terminal *term, int count);
void term_cursor_down(struct terminal *term, int count);
void term_cursor_blink_enable(struct terminal *term);
void term_cursor_blink_disable(struct terminal *term);
void term_cursor_blink_restart(struct terminal *term);
void term_scroll(struct terminal *term, int rows);
void term_scroll_reverse(struct terminal *term, int rows);