mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-07 04:06:07 -05:00
render: cursor: use default fg/bg if cell fg/bg are the same
When deciding which colors to use for the cursor, and the cursor text and background colors are the same, use the default fg/bg instead. Closes #1761
This commit is contained in:
parent
f066fe47f0
commit
c46c124363
2 changed files with 14 additions and 0 deletions
|
|
@ -84,8 +84,14 @@
|
|||
In other words, if, after this change, `XTGETTCAP` returns a string
|
||||
that is different compared to `tigetstr()`, then it is likely a bug
|
||||
in foot's implementation of `XTGETTCAP`.
|
||||
* If the cursor foreground and background colors are identical (for
|
||||
example, when cursor uses inverted colors and the cell's foreground
|
||||
and background are the same), the cursor will instead be rendered
|
||||
using the default foreground and background colors, inverted
|
||||
([#1761][1761]).
|
||||
|
||||
[1701]: https://codeberg.org/dnkl/foot/issues/1701
|
||||
[1761]: https://codeberg.org/dnkl/foot/issues/1761
|
||||
|
||||
|
||||
### Deprecated
|
||||
|
|
|
|||
8
render.c
8
render.c
|
|
@ -573,6 +573,14 @@ cursor_colors_for_cell(const struct terminal *term, const struct cell *cell,
|
|||
*text_color = color_hex_to_pixman(term->colors.bg);
|
||||
}
|
||||
}
|
||||
|
||||
if (text_color->red == cursor_color->red &&
|
||||
text_color->green == cursor_color->green &&
|
||||
text_color->blue == cursor_color->blue)
|
||||
{
|
||||
*text_color = color_hex_to_pixman(term->colors.bg);
|
||||
*cursor_color = color_hex_to_pixman(term->colors.fg);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue