Merge bd63531d3f0079788b368ed29a5435b25eb99c0a into a4ed3959d8adece59c31e08fd75758cb4cd4d987
This commit is contained in:
commit
669e6654bc
@ -90,6 +90,7 @@ struct tsm_screen_attr {
|
|||||||
unsigned int underline : 1; /* underlined character */
|
unsigned int underline : 1; /* underlined character */
|
||||||
unsigned int inverse : 1; /* inverse colors */
|
unsigned int inverse : 1; /* inverse colors */
|
||||||
unsigned int protect : 1; /* cannot be erased */
|
unsigned int protect : 1; /* cannot be erased */
|
||||||
|
unsigned int blink : 1; /* blinking character */
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef int (*tsm_screen_prepare_cb) (struct tsm_screen *con,
|
typedef int (*tsm_screen_prepare_cb) (struct tsm_screen *con,
|
||||||
|
@ -335,6 +335,9 @@ static void to_rgb(struct tsm_vte *vte, struct tsm_screen_attr *attr)
|
|||||||
|
|
||||||
code = attr->bccode;
|
code = attr->bccode;
|
||||||
if (code >= 0) {
|
if (code >= 0) {
|
||||||
|
/* blink causes light colors */
|
||||||
|
if (attr->blink && code < 8)
|
||||||
|
code += 8;
|
||||||
if (code >= COLOR_NUM)
|
if (code >= COLOR_NUM)
|
||||||
code = COLOR_BACKGROUND;
|
code = COLOR_BACKGROUND;
|
||||||
|
|
||||||
@ -550,6 +553,7 @@ static void reset_state(struct tsm_vte *vte)
|
|||||||
vte->saved_state.cattr.underline = 0;
|
vte->saved_state.cattr.underline = 0;
|
||||||
vte->saved_state.cattr.inverse = 0;
|
vte->saved_state.cattr.inverse = 0;
|
||||||
vte->saved_state.cattr.protect = 0;
|
vte->saved_state.cattr.protect = 0;
|
||||||
|
vte->saved_state.cattr.blink = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void save_state(struct tsm_vte *vte)
|
static void save_state(struct tsm_vte *vte)
|
||||||
@ -1039,6 +1043,7 @@ static void csi_attribute(struct tsm_vte *vte)
|
|||||||
vte->cattr.bold = 0;
|
vte->cattr.bold = 0;
|
||||||
vte->cattr.underline = 0;
|
vte->cattr.underline = 0;
|
||||||
vte->cattr.inverse = 0;
|
vte->cattr.inverse = 0;
|
||||||
|
vte->cattr.blink = 0;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
vte->cattr.bold = 1;
|
vte->cattr.bold = 1;
|
||||||
@ -1046,6 +1051,9 @@ static void csi_attribute(struct tsm_vte *vte)
|
|||||||
case 4:
|
case 4:
|
||||||
vte->cattr.underline = 1;
|
vte->cattr.underline = 1;
|
||||||
break;
|
break;
|
||||||
|
case 5:
|
||||||
|
vte->cattr.blink = 1;
|
||||||
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
vte->cattr.inverse = 1;
|
vte->cattr.inverse = 1;
|
||||||
break;
|
break;
|
||||||
@ -1055,6 +1063,9 @@ static void csi_attribute(struct tsm_vte *vte)
|
|||||||
case 24:
|
case 24:
|
||||||
vte->cattr.underline = 0;
|
vte->cattr.underline = 0;
|
||||||
break;
|
break;
|
||||||
|
case 25:
|
||||||
|
vte->cattr.blink = 0;
|
||||||
|
break;
|
||||||
case 27:
|
case 27:
|
||||||
vte->cattr.inverse = 0;
|
vte->cattr.inverse = 0;
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user