microsoft / microsoft/terminal
VT Passthrough enhancements beyond the FHL
- 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
Assessment
This issue has not been assessed yet.