[PR #941] Added support for DECSCUSR sequences #24415

Closed
opened 2026-01-31 09:03:11 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/microsoft/terminal/pull/941

State: closed
Merged: Yes


Summary

Fixes #601

Added support for changing the cursor style via the DECSCUSR sequences. Higher values (e.g. \x1b[\x37 q) fall back to the legacy cursor.

Tested manually by invoking wsl and using echo commands (e.g. echo -e -n "\x1b[\x32 q").

PR Checklist

  • Closes How to write as UTF-8 to console? (#601)
  • CLA signed. If not, go over here and sign the CLA
  • Tests added/passed
  • Requires documentation to be updated
  • I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #601

Detailed Description of the Pull Request / Additional comments

Implemented the SetCursorStyle() method for TerminalDispatch and TerminalApi. Also, had to implement logic in TermControl.cpp to stop cursor blink when cursor->IsBlinkingAllowed() is false.

**Original Pull Request:** https://github.com/microsoft/terminal/pull/941 **State:** closed **Merged:** Yes --- ## Summary Fixes #601 Added support for changing the cursor style via the [DECSCUSR](https://vt100.net/docs/vt510-rm/DECSCUSR.html) sequences. Higher values (e.g. `\x1b[\x37 q`) fall back to the legacy cursor. Tested manually by invoking `wsl` and using `echo` commands (e.g. `echo -e -n "\x1b[\x32 q"`). ## PR Checklist * [x] Closes #601 * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Requires documentation to be updated * [x] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #601 ## Detailed Description of the Pull Request / Additional comments Implemented the `SetCursorStyle()` method for `TerminalDispatch` and `TerminalApi`. Also, had to implement logic in `TermControl.cpp` to stop cursor blink when `cursor->IsBlinkingAllowed()` is `false`.
claunia added the pull-request label 2026-01-31 09:03:11 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#24415