microsoft / microsoft/terminal

VT Passthrough enhancements beyond the FHL

Open
#10,001 0 comments 0 reactions 1 assignee Claimed by @lhecker View on GitHub
Area-VT Issue-Scenario Product-Conhost
Dominant language
C++
Stars
105k
Forks
9.6k
Avg merge
3d 17h
Merged PRs (30d)
29

Description

~Claimed by @miniksa.~

See also:
* #1173
* #11264

This issue represents the follow-on items from #11264. It's a bunch of known issues from the PR that will be required to make the VT passthrough more robust.

It is not all-encompassing and resolving all of these will not necessarily be the end (and therefore not necessarily the satisfactory completion of #1173).

### Conhost-side issues:
- [ ] Peek/Read console input should probably only synchronize the cursor during cooked mode
- [x] Fill output character is converting WC2MB way too many times but it works
- [ ] (also `VtEngine::_WriteFill` could do with a `REP` command which is I think a VT thing too)
- [ ] `GetConsoleCursorInfo` could probably work but we'd have to pipe through a bunch of stuff
- [ ] `GetConsoleScreenBufferInfoEx` is... just some data. But it's probably not correct.
- [x] Popups erase stuff behind them which is gonna be gross...
- [x] Scroll could just be DECCRA implemented in Terminal
- [x] `WriteConsoleOutput` should probably trim to the buffer size
- [x] `ReadConsoleOutput` likely needs some sort of trim as well
- [ ] Console Title might be able to resolve a more complete answer (either by asking the host or spying on the VT going by or parallel running commands locally... idk)
- [ ] Reconcile inheriting the cursor on PTY startup with the Looking For DSR methods (a.k.a. should we always set up the DSR watcher every time the cursor query command is called? See https://github.com/microsoft/terminal/pull/11264#discussion_r784132481 for details)
- [ ] Reconcile how many times we copy the API routines into the message packet. Do we really need to do it on every message? https://github.com/microsoft/terminal/pull/11264#discussion_r784106977

### Terminal-side

Broadly, the Terminal doesn't actually support that many VT sequences. We'll likely run into issues immediately...

- [x] #1883
- [ ] #13408
- [ ] Implement scrolling margins
- [x] Support the alt buffer. #381 is the ConPTY side of things. #3492 looks a bit like the Terminal version

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.