diff options
author | David Herrmann <dh.herrmann@googlemail.com> | 2012-12-10 16:09:28 +0100 |
---|---|---|
committer | David Herrmann <dh.herrmann@googlemail.com> | 2012-12-10 16:09:28 +0100 |
commit | 03aab2b54b115b8f01856a24d3a00eb7a9f12e14 (patch) | |
tree | 8f5b0e7592d289cbca43606f7a2775289abcd1c2 /README | |
parent | 1657bb9a3a784b07ae9e2018da2e09240cc6b321 (diff) |
tsm: screen: add support for multi-cell characters
The wcwidth() POSIX helper returns the number of cells that a character
occupies. This is normally 1, however, if it is 0 we simply discard this
input (this should never happen as all characters that wcwidth() returns 0
for should already be handled by the VTE layer).
But if it is >1, we write the character in the first cell, set the width
correctly and mark all following characters as width=0.
Everything else is left unchanged, that means, the running application has
to be aware of wcwidth() and correctly send two backspaces to clear a
width=2 character and so on.
This behavior almost exactly matches the xterm behavior. There are some
corner cases like erasing only one part of a multi-cell character etc.
that might differ. However, these are non-standard cases that no
application should never rely on.
Anyway, if we spot any of these differences between xterm and kmscon, we
should fix kmscon to behave like xterm does.
Thanks to Shixin for looking this up in other emulators.
Reported-by: Shixin Zeng
Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Diffstat (limited to 'README')
0 files changed, 0 insertions, 0 deletions