diff --git a/source/widgets/textbox.c b/source/widgets/textbox.c index c1f0eabcd..592504039 100644 --- a/source/widgets/textbox.c +++ b/source/widgets/textbox.c @@ -540,6 +540,9 @@ static void textbox_draw(widget *wid, cairo_t *draw) { tb->cursor_x_pos = x + cursor_x; } if (tb->blink) { + // This save/restore state is necessary to render the text in the + // correct color when `cursor-color` is set + cairo_save(draw); // use text color as fallback for themes that don't specify the cursor // color rofi_theme_get_color(WIDGET(tb), "cursor-color", draw); @@ -555,6 +558,7 @@ static void textbox_draw(widget *wid, cairo_t *draw) { } else { cairo_fill(draw); } + cairo_restore(draw); } }