The actual terminfo entries we ended up with for cursor changes are Cs,

Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead
of the ones we were using earlier.
This commit is contained in:
Nicholas Marriott
2013-06-02 07:52:15 +00:00
parent c231381aa3
commit 13441e8cb8
5 changed files with 19 additions and 19 deletions

18
tty.c
View File

@ -270,11 +270,11 @@ tty_stop_tty(struct tty *tty)
tty_raw(tty, tty_term_string(tty->term, TTYC_SGR0));
tty_raw(tty, tty_term_string(tty->term, TTYC_RMKX));
tty_raw(tty, tty_term_string(tty->term, TTYC_CLEAR));
if (tty_term_has(tty->term, TTYC_CS1) && tty->cstyle != 0) {
if (tty_term_has(tty->term, TTYC_CSR1))
tty_raw(tty, tty_term_string(tty->term, TTYC_CSR1));
if (tty_term_has(tty->term, TTYC_SS) && tty->cstyle != 0) {
if (tty_term_has(tty->term, TTYC_SE))
tty_raw(tty, tty_term_string(tty->term, TTYC_SE));
else
tty_raw(tty, tty_term_string1(tty->term, TTYC_CS1, 0));
tty_raw(tty, tty_term_string1(tty->term, TTYC_SS, 0));
}
tty_raw(tty, tty_term_string(tty->term, TTYC_CR));
@ -455,7 +455,7 @@ tty_force_cursor_colour(struct tty *tty, const char *ccolour)
if (*ccolour == '\0')
tty_putcode(tty, TTYC_CR);
else
tty_putcode_ptr1(tty, TTYC_CC, ccolour);
tty_putcode_ptr1(tty, TTYC_CS, ccolour);
free(tty->ccolour);
tty->ccolour = xstrdup(ccolour);
}
@ -479,12 +479,12 @@ tty_update_mode(struct tty *tty, int mode, struct screen *s)
tty_putcode(tty, TTYC_CIVIS);
}
if (tty->cstyle != s->cstyle) {
if (tty_term_has(tty->term, TTYC_CS1)) {
if (tty_term_has(tty->term, TTYC_SS)) {
if (s->cstyle == 0 &&
tty_term_has(tty->term, TTYC_CSR1))
tty_putcode(tty, TTYC_CSR1);
tty_term_has(tty->term, TTYC_SE))
tty_putcode(tty, TTYC_SE);
else
tty_putcode1(tty, TTYC_CS1, s->cstyle);
tty_putcode1(tty, TTYC_SS, s->cstyle);
}
tty->cstyle = s->cstyle;
}