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
Support for VT100 DECOM Orgin Mode #132
Comments
Did this get fixed? mapscii.me is down, so I can't verify. |
Nope, not yet. Still on the backlog. |
is DECOM supported at all, or is it just the cursor reset that isn't working? |
I don't believe DECOM is supported at all. |
Hmm, I'll tell you why I'm curious. I've got a simple multiplexer I'm trying to build, and I'm setting a scroll region (DECSTBM) to isolate the bottom line for a status bar, a la screen/tmux (using conpty.) I find that the text in the status bar gets corrupted/cleared at some point, like the cursor is ending up outside the scroll region in the bottom margin. If I force a long |
God bless you for trying to do this - I've had plans to try and create one for a while now, but there are some other things that are higher priority at the moment. I doubt that DECOM would be the fix, considering that tmux is able to function perfectly fine w/o it. Presumably the bug would repro without conpty involved - if you can get me a set of VT sequences that repro the behavior, I'll be happy to take a look. (though preferably in a separate issue :P) |
The first thing I tried was seeing if tmux/screen had similar issues, but to be honest, they have such different architectures with what I've got that I couldn't be sure. I'll try without conpty to see if there's an issue. |
@zadjii-msft -- this is what's currently bothering me most: #394 |
Related to #94? |
Marking this one DECOM origin mode is described here:
|
I've spent some time looking into this, and I think it's something I can handle if nobody else is working on it. My approach would be to add two new booleans in the When the origin mode is relative, there would then need to be adjustments to the line number in the I'm still investigating some of the edge cases, but I think that's the gist of it. However, I should point out that I'll only be able to get back to this again next weekend, in case someone else is keen to take it on before then. |
That certainly seems like the way I'd do it. I doubt that anyone else is going to take a stab at it before that, so I'll just put you on it :P |
Good news! This was released for the in-box console with insider build 18945! |
🎉This issue was addressed in #1331, which has now been successfully released as Handy links: |
Windows build number: [Version 10.0.16299.248]
If you telnet to mapscii.me, it starts off looking OK (aside from possible unicode issues if you don't have a good enough font). However, if you try to zoom in (pressing the A key), you'll notice that the updated view scrolls into place instead of refreshing smoothly, and the first line of the display will appear to be incorrect.
The reason this is happening is because they're setting the DECOM origin mode at the start of every screen refresh (
\033[?6h
), and one of the side effects of that sequence is that the cursor is supposed to be reset to the home position. Since Windows doesn't support that sequence, the cursor is in the wrong place when the new screen is output.The end result is that half of the first line for the updated view is appended to the end of the previous view, and ultimately won't be seen. And the rest of the page then slowly scrolls into position as it's output instead of smoothly overwriting the previous content.
I'm not sure if the screen margins are ever set, so that functionality may not be necessary for mapscii to work correctly, but it definitely seems to be relying on the mode change resetting the cursor to the home position, so it would be good if the Windows console could support that.
The text was updated successfully, but these errors were encountered: