diff --git a/CHANGELOG.md b/CHANGELOG.md index 625ca4dd..00cf0b63 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -57,6 +57,11 @@ ## Unreleased ### Added ### Changed + +* `cursor.unfocused-style` is now effective even when `cursor.style` + is not `block`. + + ### Deprecated ### Removed ### Fixed diff --git a/render.c b/render.c index d9630983..d9317b68 100644 --- a/render.c +++ b/render.c @@ -591,22 +591,22 @@ draw_cursor(const struct terminal *term, const struct cell *cell, pixman_color_t text_color; cursor_colors_for_cell(term, cell, fg, bg, &cursor_color, &text_color); + if (unlikely(!term->kbd_focus)) { + switch (term->conf->cursor.unfocused_style) { + case CURSOR_UNFOCUSED_UNCHANGED: + break; + + case CURSOR_UNFOCUSED_HOLLOW: + draw_hollow_block(term, pix, &cursor_color, x, y, cols); + return; + + case CURSOR_UNFOCUSED_NONE: + return; + } + } + switch (term->cursor_style) { case CURSOR_BLOCK: - if (unlikely(!term->kbd_focus)) { - switch (term->conf->cursor.unfocused_style) { - case CURSOR_UNFOCUSED_UNCHANGED: - break; - - case CURSOR_UNFOCUSED_HOLLOW: - draw_hollow_block(term, pix, &cursor_color, x, y, cols); - return; - - case CURSOR_UNFOCUSED_NONE: - return; - } - } - if (likely(term->cursor_blink.state == CURSOR_BLINK_ON) || !term->kbd_focus) {