-
-
Notifications
You must be signed in to change notification settings - Fork 109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
no vertical cursor progression on GLFs (sixel) #822
Comments
I tried to document the correct cursor positioning in the test case here:
Note that the "top" part of that statement is important when it comes to supporting aspect ratios other than 1:1, because a sixel line can end up spanning multiple text lines. |
Well it is phrased somewhat fuzzy in DEC 070, here is the relevant paragraph (copied from pdf, so it may contain weird symbols or broken/scrambled words):
NB: Thats the col direction indentation - col stays where sixel started, no matter what.
Thats the fuzzy part for vertical progression (tried to highlight the imho important parts). Note that the test of proper GLFs alignment as on a vt340 is not strictly enforced by DEC 070 (last sentence). The matter with DEC 070 is furthermore complicated by vt240 with its "I dont care for text progression at all", which also is not directly reflected by 070 rules. |
Yeah, but I don't think the STD-070 documentation is a great reference for sixel, since it seems to be mostly targetting their printers rather than their terminals. There is no mention of the VT340, and some things described there simply weren't applicable to the terminals (e.g. grid sizes), or behaved quite differently (e.g. aspect ratios). So if you're just going with what is documented in STD-070, you can basically do whatever you want. But you're not going to get much interoperability that way. Back when I was testing the various sixel implementations I think found eight different ways in which modern TEs were interpreting the cursor position! And that's not even counting the different modes that some people invented.
That is actually described in the "deviations" section at the end of the chapter. I should also add that the final text cursor position is only one aspect of this issue. You also need to consider scrolling, i.e. when and how a sixel image will cause the viewport to scroll. The algorithm for that is quite different from the text cursor positioning, because the image can overflow the viewport before the text cursor would. There is a separate test case that demonstrates that behavior here: And for more info on how exactly it's supposed to work, it's probably best to look at the issue where we figured out all the details. |
Contour Terminal version
0.3.4.223
Installer source
GitHub: release page
Operating System
Ubuntu 18 LTS
Architecture
x86-64
Other Software
No response
Steps to reproduce
Plz see jerch/xterm-addon-image#37 for details on the issue. There is also this testscript done by @hackerb9 to check TE behavior.
Expected Behavior
GLFs from sixel should advance the text cursor to the bottom, if sixel scrolling is on.
Actual Behavior
Currently there is no text cursor progression from multiple GLFs.
Additional notes
(@Utkarsh-khambra This is the follow-up from #820.)
The text was updated successfully, but these errors were encountered: