-
Notifications
You must be signed in to change notification settings - Fork 8.5k
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
Add support for VT100 Answerback Feature #11946
Comments
Might as well, though, out of curiosity, any specific examples when you say
I'm under the impression that the console/Terminal does a pretty good job of hosting most linux applications these days, and there aren't that many apps that actually rely on |
@zadjii-msft, I work for a software tools company supporting a software development environment that has been used for 45 years to develop a significant number of "legacy" applications across all industries. While it is not the case that all such applications rely on terminal answerback, a significant portion do. Currently I am migrating a specific application for a customer, and without terminal answerback it literally won't run. We could re-engineer the code to remove this requirement, but I would consider it a win for Windows Terminal if it could support the feature. Currently we are forced to use a terminal emulator that implements full DEC VT compatibility, such as Reflections, PowerTerm or Putty. It would be a win for us if we could run our apps using native Windows tools, and we are SO CLOSE! |
Note that if it needs to be user configurable, then we can't really implement this on the conhost side. It would have to be passed through to WT and have the answerback message configured somewhere in the settings (probably at the profile level). One other possibility would be to support the |
Another thought: I know we don't want to add more stuff to the legacy conhost properties dialog, but can we add new properties to the console registry area? It's obviously not very user-friendly, but it would be a quick way to get the functionality implemented on the conhost side, and then we could leave the WT settings UI until later. |
@j4james For my use case, I'm totally fine if there is no UI, as long as I can specify the answerback value in a configuration file. |
FYI, I've managed to get a basic implementation of this working (configured via the registry for conhost, and in settings.json for Windows Terminal), but there's a catch. It potentially breaks legacy console apps that depend on ASCII 5 being displayed as a printable character (namely the I had initially thought we could work around that by treating ASCII 5 as printable when the answerback message was blank, but that won't work in Windows Terminal because of the nature of the conpty passthrough. So if we want to do this, we may need to bite the bullet and decide to drop support for printable C0 characters (essentially what was discussed in #10786). The other option would be to wait until we have a full passthrough mode (#1173), because that would allow us to make the distinction between a printable char and the ENQ control on the WT side of the conpty connection (based on the presence of the answerback message). But that's likely to be a long way off still. |
After playing with this for a bit, I realised there's another problem: when The reason this matters, is because it's common for queries like this (where you can't be sure of a response) to be followed by another query that definitely is supported. For example, you might send On Windows Terminal this won't work though. The This should eventually be addressed by the full passthrough mode (#1173), but if we don't want to wait for that, we need to accept that this query won't always work as expected. This might still be acceptable for @SteveIves' use case though. |
The answerback feature allows for the user to define a message that the terminal will transmit to the host whenever an `ENQ` (enquiry) control character is received. ## Detailed Description of the Pull Request / Additional comments In Windows Terminal, the message can be configured at the profile level of the settings file, as a string property named `AnswerbackMessage`. In ConHost, the message can be configured in the registry, again as a string value with the name `AnswerbackMessage`. ## Validation Steps Performed I've confirmed that the control is working as intended in both Windows Terminal and ConHost using Vttest. Closes #11946
Add support for VT100 Answerback Feature
I am attempting to use Windows Terminal to execute legacy Linux applications using WSL2, and it's great that Terminal now seems to support most VT100 features, but most of the applications I am attempting to host require the terminal to provide an "answerback message" (string) in response to an ASCII 5 character (Ctrl+E) being received by the terminal. The answerback message must be able to be defined by the user, ideally in settings UI, or at least in the settings file. I believe there is also an "auto answerback" capability, but I am unclear on exactly how that works, but do not need it for my use case.
The text was updated successfully, but these errors were encountered: