-
Notifications
You must be signed in to change notification settings - Fork 8.4k
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
Rightmost column of text is invisible on moar
#18115
Comments
moar
moar
FWIW, Test results for
|
This will be very helpful for a differential diagnosis: Does moar work properly in WSL under Windows Terminal and VSCode? If so: there's a chance that it has--or is using a library which has--Windows platform-specific code. If it does, I suspect that it is--or that library is--using |
Also,
|
Let's say the window is 100 chars wide. If But what's happening is that the last char on the line goes missing. So I believe @DHowett ^ |
Ugh, I missed your comment about WSL earlier. I'm sorry. |
@zadjii-msft It reproduces in preview and canary, as well as conhost. In both cases I used a block selection to highlight the rightmost edge. |
Got it! This is what
Zooming in on the end of the first line (which is
By design, emitting a Now to figure out why EDIT to add NOTE: this does not require ConPTY, and does not appear to be a ConPTY issue. This appears to be an application issue (at the moment.) |
I will change this behavior in Out of curiosity, why this design? When all other terminals seem to handle this differently? |
Instead of clearing the screen at the start of a redraw, The hope (not measured) is that this might avoid some flickering during redraws. |
Before this change, on Windows, the rightmost column of the screen would be cut off and not visible. With this change in place, that column should now be visible. Fixes #250. Ref: microsoft/terminal#18115 (comment)
That's a good question, but I should note that xterm does the same thing: The former libvte (gnome-terminal et al) maintainer filed a bug on us requesting that we deviate from STD 070, and James--who I look to as the paragon of all terminal emulation knowledge--had this to say: #3177 (comment) He followed up with #14936, which pertains only to the delayed wrap state and not the last column. |
TL;DR: this is supported by standard behavior in either direction. @j4james likely knows much more than I do about it. 🙂 |
We've tried to follow the spec as closely as possible (documented in STD 070, pages D-13 and D-14). I think the only intentional deviation is with the tab control, where the behavior was changed in later DEC terminals (in that case we're matching the most recent DEC implementation, rather than the older spec definition). I believe this is exactly the same behavior as XTerm, and last I checked, MLTerm and the Linux console were also following the spec quite closely. We're definitely not the only terminal that handles |
Thanks! And with that, I'll close this one as By Design. |
(Also, I think I need to install |
It seems to me that with such a design, a console application that outputs via a serial port and has no way to track the size of the terminal will inevitably periodically lose the last character. Moreover, with a terminal size of 1xN, the last character will always be lost. |
@o-sdn-o Literal serial terminals act like this, so. |
I haven't tried XTerm, but I did produce this list (before I just changed Test results for
|
With this design, supporting the |
@o-sdn-o It's worked this way for more than 40 years - I think it's a little late to decide you don't like the design. But if you want to invent a new protocol, maybe propose something on terminal-wg. |
Windows Terminal version
1.21.2911.0
Windows build number
10.0.26120.0
Other Software
moar
1.27.2 installed viago install github.com/walles/moar@latest
(issue 250 there)Steps to reproduce
This happens both on WSL:
and also on cmd:
Expected Behavior
Line breaking at the end of the terminal width, continuing on next line:
Actual Behavior
Last column is blank and is not shown:
e.g.
The text was updated successfully, but these errors were encountered: