diff --git a/kitty/screen.c b/kitty/screen.c index 9c8d66bfe..c7c9c5809 100644 --- a/kitty/screen.c +++ b/kitty/screen.c @@ -231,6 +231,7 @@ screen_draw_charset(Screen *self, unsigned short *table, uint8_t *buf, unsigned } void screen_draw(Screen *self, uint8_t *buf, unsigned int buflen) { + unsigned int x = self->cursor->x, y = self->cursor->y; switch(self->current_charset) { case 0: screen_draw_charset(self, self->g0_charset, buf, buflen); break; @@ -239,6 +240,7 @@ void screen_draw(Screen *self, uint8_t *buf, unsigned int buflen) { default: screen_draw_utf8(self, buf, buflen); break; } + if (x != self->cursor->x || y != self->cursor->y) tracker_cursor_changed(self->change_tracker); } // }}} diff --git a/kitty_tests/parser.py b/kitty_tests/parser.py index a7d7757ea..117b8b3e7 100644 --- a/kitty_tests/parser.py +++ b/kitty_tests/parser.py @@ -51,6 +51,7 @@ class TestScreen(BaseTest): pb('12', '12') self.ae(str(s.line(0)), '12 ') + self.ae(s.cursor.x, 2) pb('3456', '3456') self.ae(str(s.line(0)), '12345') self.ae(str(s.line(1)), '6 ')