-
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
DECCOLM escape sequence doesn't work #171
Comments
You're right, that functionality is actually disabled right now. I can't remember what at the moment, but we had to disable the resizing, and I added a backlog task to make it into a real setting. Only thing really stopping me is the fact that the current settings UI makes it fairly hard to another property. For m records, this is MSFT:10086990 Thanks for calling out that it only changes the buffer, not the viewport, that'll be important to fix when I get to that. |
Instead of worrying about getting an option added to the settings, could we not just implement the escape sequence I mentioned above that XTerm uses ( And once this escape sequence is supported, a bunch of the 132 column tests in Vttest will immediately start working (or at least working better), because Vttest enables this option on startup - it has to for XTerm to work. So what do you think? Should I submit a PR for this, or do you have other plans for how you want to handle it? |
Good news! This was released for the in-box console with insider build 18945! |
🎉This issue was addressed in #1709, which has now been successfully released as Handy links: |
Microsoft Windows [Version 10.0.16299.371]
I'm trying to switch between 80 and 132 columns with the DECCOLM escape sequence (
ESC [ ? 3 h
), and although it clears the screen and resets the cursor position, it appears to have no effect on the actual width of the screen. This is my test case to enable 132 columns:After poking around in the code a bit, I noticed there is a test at the start of the
AdaptDispatch::SetColumns
method, which stops the call from have any effect if the member variable at offset 30h is false (which it is). If I manually set that value to true then the call works.I thought this might mean the DECCOLM functionality was disabled by default (as it is in XTerm), but I couldn't see any option in the console properties that would enable it, and Windows doesn't seem to support the escape sequence that XTerm uses to enable it (
ESC [ ? 40 h
).I should also mention that even when the SetColumn call is working, it doesn't actually function as I would it expect it to. Both XTerm and Gnome Terminal resize the actual window when the DECCOLM mode is toggled, but the Windows console just alters the buffer width, leaving the window size unchanged. Having those two widths out of sync introduces a whole host of other problems.
When the DECCOLM mode is set, I'd expect the screen width to change to 132. When it is reset, I'd expect the screen width to change to 80.
The text was updated successfully, but these errors were encountered: