diff --git a/CHANGELOG.md b/CHANGELOG.md index c225a576..34c12bf0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -101,6 +101,8 @@ * Font underlines being positioned below the cell (and thus being invisible) for certain combinations of fonts and font sizes (https://codeberg.org/dnkl/foot/issues/503). +* Sixels with transparent bottom border being resized below the size + specified in _”Set Raster Attributes”_. ### Security diff --git a/sixel.c b/sixel.c index 5840e887..eb34b646 100644 --- a/sixel.c +++ b/sixel.c @@ -816,7 +816,8 @@ sixel_unhook(struct terminal *term) xassert(image.rows <= term->grid->num_rows); xassert(image.pos.row + image.rows - 1 < term->grid->num_rows); - LOG_DBG("generating %dx%d pixman image at %d-%d", + LOG_DBG("generating %s %dx%d pixman image at %d-%d", + image.opaque ? "opaque" : "transparent", image.width, image.height, image.pos.row, image.pos.row + image.rows); @@ -1195,11 +1196,10 @@ decgra(struct terminal *term, uint8_t c) ph <= term->sixel.max_height && pv <= term->sixel.max_width) { resize(term, ph, pv); - if (!term->sixel.transparent_bg) { - /* This ensures the sixel’s final image size is *at - * least* this large */ - term->sixel.max_non_empty_row_no = pv - 1; - } + + /* This ensures the sixel’s final image size is *at least* + * this large */ + term->sixel.max_non_empty_row_no = pv - 1; } term->sixel.state = SIXEL_DECSIXEL;