render: only apply transparency to the default background color

This commit is contained in:
Daniel Eklöf 2020-05-16 16:26:52 +02:00
parent 0c9b679958
commit b647aa447b
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 9 additions and 2 deletions

View file

@ -15,7 +15,12 @@
* `Sync` to terminfo. This is a tmux extension that indicates
_"Synchronized Updates"_ are supported.
### Changed
* Background transparency to only be used with the default background
color.
### Deprecated
### Removed
### Fixed

View file

@ -390,7 +390,8 @@ render_cell(struct terminal *term, pixman_image_t *pix,
_fg = _bg;
pixman_color_t fg = color_hex_to_pixman(_fg);
pixman_color_t bg = color_hex_to_pixman_with_alpha(_bg, term->colors.alpha);
pixman_color_t bg = color_hex_to_pixman_with_alpha(
_bg, _bg == term->colors.bg ? term->colors.alpha : 0xffff);
if (cell->attrs.dim)
color_dim(&fg);
@ -502,7 +503,8 @@ render_margin(struct terminal *term, struct buffer *buf, int start_line, int end
const int line_count = end_line - start_line;
uint32_t _bg = !term->reverse ? term->colors.bg : term->colors.fg;
pixman_color_t bg = color_hex_to_pixman_with_alpha(_bg, term->colors.alpha);
pixman_color_t bg = color_hex_to_pixman_with_alpha(
_bg, _bg == term->colors.bg ? term->colors.alpha : 0xffff);
if (term->is_searching)
color_dim(&bg);