[konsole] [Bug 456354] New text writes on top of sixel image instead of erasing part of the image

Kurt Hindenburg bugzilla_noreply at kde.org
Fri Oct 11 15:47:50 BST 2024


https://bugs.kde.org/show_bug.cgi?id=456354

Kurt Hindenburg <khindenburg at kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED
      Latest Commit|                            |https://invent.kde.org/util
                   |                            |ities/konsole/-/commit/cc45
                   |                            |39f6bfd8e5b6beac23ecd13897c
                   |                            |666e88eaa

--- Comment #11 from Kurt Hindenburg <khindenburg at kde.org> ---
Git commit cc4539f6bfd8e5b6beac23ecd13897c666e88eaa by Kurt Hindenburg, on
behalf of Matan Ziv-Av.
Committed on 11/10/2024 at 14:47.
Pushed by hindenburg into branch 'master'.

Change text over sixel image behaviour to be compatible with xterm

With this MR, if a character with the default background color is
printed on a sixel image, the background color is displayed rather
than considered transparent.

In more details: The "standard" (_VT330/VT340 Programmer Reference
Manual_) does not define what happens when a character is printed on
a sixel image. `xterm`, and some other (maybe all?) terminals
implementing sixel protocol chose to hide the image under the whole
character cell. `Konsole` always treated the default background color
as transparent, which makes sense when there is a background image or
when the terminal background is transparent. When implementing graphics
I chose to use this behaviour, since it seems more flexible to me.

But, there are programs that depend on xterm behaviour, and I read
complaints about this in various platforms.

For implementing this change it is necessary to store with each image
its source protocol (since unlike sixel, `kitty` protocol defines the
behaviour as the one currently used in `konsole`.) and when drawing
the background of a character to be aware if there is a sixel image
under it, in order to not change the behaviour for background image.

(MR#1031)

M  +17   -3    src/Screen.cpp
M  +3    -0    src/Screen.h
M  +3    -2    src/Vt102Emulation.cpp
M  +1    -1    src/characters/Character.h
M  +15   -5    src/terminalDisplay/TerminalPainter.cpp
M  +4    -2    src/terminalDisplay/TerminalPainter.h

https://invent.kde.org/utilities/konsole/-/commit/cc4539f6bfd8e5b6beac23ecd13897c666e88eaa

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the konsole-devel mailing list