Skip to content

Reset disables the ability to pass through C1 control characters #13968

@j4james

Description

@j4james

Windows Terminal version

1.15.1862.0

Windows build number

10.0.19044.1889

Other Software

No response

Steps to reproduce

  1. Open a WSL bash shell in Windows Terminal.
  2. Execute the following statement: printf "\e 7\u009B?5h"
  3. Note that the screen attributes have reversed.
  4. Execute reset to get the screen back to normal.
  5. Execute printf "\e 7\u009B?5h" again.

Expected Behavior

Both step 2 and step 5 should cause the screen attributes to be reversed.

Actual Behavior

Only the first attempt works. The second attempt appears to output ?5h instead.

What's happening is we've got a DECAC1 sequence (ESC SP 7) which is supposed to enable C1 support, followed by DECSCNM (reverse screen mode), using a C1 control sequence (CSI ? 5 h).

That works the first time, but after the reset, the C1 support is permanently disabled on the conpty client side, so C1 control sequences can no longer be passed through.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Issue-BugIt either shouldn't be doing this or needs an investigation.Needs-Tag-FixDoesn't match tag requirementsNeeds-TriageIt's a new issue that the core contributor team needs to triage at the next triage meetingResolution-Fix-CommittedFix is checked in, but it might be 3-4 weeks until a release.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions