Skip to content

Add support for DECRQCRA #14974

@j4james

Description

@j4james

Description of the new feature/enhancement

DECRQCRA is an escape sequence which lets you request a checksum of a portion of the screen, and that gives you a way to read back the buffer contents. This is useful for creating automated tests that can be run on the original DEC terminals and then easily compared against our own implementation to verify that we're doing things correctly (for an example of that, see #14876).

Proposed technical implementation details (optional)

The problem with this functionality is that some people consider it a security risk. Looking at the other terminals that support this, most do seem to have it enabled by default, but some have it behind an option, and some require you to build the app yourself with a specific define enabled.

VTE and Konsole are the ones I know of that require a build-time option, XTerm and iTerm2 have a runtime option, and MLTerm, Mintty, WezTerm, RLogin, SyncTerm, and Reflection all have it enabled by default (I think - I can't rule out some of them having an option that I've forgotten about turning on).

So if we do want to support this, how do you want to handle it? I could live with a compile time option - that's at least better than merging from a stash (which is what I'm doing at the moment). A step up from that would be enabling from a registry entry - it would only apply in conhost, but that is fine for testing. My personal preference, though, would be to have it enabled all the time, but I can understand if that's not acceptable.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-VTVirtual Terminal sequence supportHelp WantedWe encourage anyone to jump in on these.In-PRThis issue has a related PRIssue-TaskIt's a feature request, but it doesn't really need a major design.Needs-Tag-FixDoesn't match tag requirementsProduct-TerminalThe new Windows Terminal.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions