diff --git a/csi.c b/csi.c index b982023c..81c71e31 100644 --- a/csi.c +++ b/csi.c @@ -1756,7 +1756,8 @@ csi_dispatch(struct terminal *term, uint8_t final) case 1: /* blinking block */ case 2: /* steady block */ - term->cursor_style = CURSOR_BLOCK; + term->cursor_style = term->conf->cursor.style == CURSOR_HOLLOW + ? CURSOR_HOLLOW : CURSOR_BLOCK; break; case 3: /* blinking underline */ diff --git a/dcs.c b/dcs.c index ebea9e4c..376c73bd 100644 --- a/dcs.c +++ b/dcs.c @@ -422,6 +422,7 @@ decrqss_unhook(struct terminal *term) int mode; switch (term->cursor_style) { + case CURSOR_HOLLOW: /* FALLTHROUGH */ case CURSOR_BLOCK: mode = 2; break; case CURSOR_UNDERLINE: mode = 4; break; case CURSOR_BEAM: mode = 6; break;