about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorbptato <nincsnevem662@gmail.com>2024-10-03 20:55:34 +0200
committerbptato <nincsnevem662@gmail.com>2024-10-03 20:58:46 +0200
commit3b468ef2079b6af989d15d885fcae85a4ad504ad (patch)
tree29879113c971747f43887d26dfb88c3128376cda /src
parent4ca1c2e58d9f6844b3253dd208fc19dbd8c95875 (diff)
downloadchawan-3b468ef2079b6af989d15d885fcae85a4ad504ad.tar.gz
sixel: transparency improvements
* don't set transparency when raster attributes suffice - it seems
  terminals don't background-fill in that case either.
* fix transparency in encoder standalone mode
* update comments
Diffstat (limited to 'src')
-rw-r--r--src/local/term.nim8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/local/term.nim b/src/local/term.nim
index 2d5b6c14..2550ca69 100644
--- a/src/local/term.nim
+++ b/src/local/term.nim
@@ -815,10 +815,10 @@ proc outputSixelImage(term: Terminal; x, y: int; image: CanvasImage;
   if preludeLen > data.len:
     return
   var outs = term.cursorGoto(x, y)
-  # set transparency if we want to draw a non-6-divisible number
-  # of rows *or* the image is transparent; omit it otherwise, for then
-  # some terminals (e.g. foot) handle the image more efficiently
-  let trans = realh mod 6 != 0 or image.transparent
+  # set transparency if the image has transparent sixels; omit it
+  # otherwise, for then some terminals (e.g. foot) handle the image more
+  # efficiently
+  let trans = image.transparent
   outs &= DCS & "0;" & $int(trans) & "q"
   # set raster attributes
   outs &= "\"1;1;" & $realw & ';' & $realh