Skip to content

Productize the WPF, UWP Terminal Controls #6999

@zadjii-msft

Description

@zadjii-msft

This scenario tracks the remaining work to productize the UWP and WPF versions of the Terminal Control. These will allow 3rd-party developers to embed terminal instances in their applications. That way, external developers won't need to write their own terminals, they can just re-use the one we build in this repo.

Currently, the Windows Terminal uses the UWP version of the control. Similarly, Visual Studio embeds the WPF version.

Pre-Requisites

These tasks aren't immediately related, but will need to get done first to unblock this work

Tasks

## Tasks
- [x] Introduce abstraction layer between TermControl and TerminalCore (aka Interactivity) #6842
- [ ] Tear out the `SearchBoxControl` from the `TermControl`, so it can be its own control
- [ ] Remove the SharedShadow thing in SearchBoxControl, noted in #12913
- [ ] Finalize API boundary - Where is the real line between `TermControl` / `ControlInteractivity` / `ControlCore`?
- [ ] Re-base the WPF control on the shared `TerminalContent`.
- [ ] Package as a nuget
- [ ] Deploy to some nuget feed somewhere?
- [ ] #4572
- [x] #3337
- [ ] #13408
- [ ] https://github.com/microsoft/terminal/issues/15404
- [ ] https://github.com/microsoft/terminal/issues/6967
- [ ] https://github.com/microsoft/terminal/issues/6996
- [ ] https://github.com/microsoft/terminal/issues/5094
- [ ] Pasting is super wacky. The control shouldn't ask the app to paste to it.
- [ ] https://github.com/microsoft/terminal/issues/1304
- [ ] https://github.com/microsoft/terminal/issues/14407
- [ ] https://github.com/microsoft/terminal/issues/13681
- [ ] https://github.com/microsoft/terminal/issues/16404

related

Metadata

Metadata

Assignees

Labels

Area-TerminalControlIssues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.)Area-WPFControlThings related to the WPF version of the TermControlIssue-ScenarioProduct-TerminalThe new Windows Terminal.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions