microsoft / terminal

The new Windows Terminal and the original Windows console host, all in the same place!
MIT License
95.18k stars 8.26k forks source link

Productize the WPF, UWP Terminal Controls #6999

Open zadjii-msft opened 4 years ago

zadjii-msft commented 4 years ago

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

minecraftchest1 commented 3 years ago

This is something that I would like to see, especially if it was done in such a way that it could be ported to other frameworks such as avaloniaui.

OculiViridi commented 2 years ago

This is something that I would like to see, especially if it was done in such a way that it could be ported to other frameworks such as avaloniaui.

And maybe also in Uno Platform UI too! 😉

OculiViridi commented 8 months ago

@zadjii-msft Any progress about those Tasks?

zadjii-msft commented 8 months ago

Unfortunately nope. I think we originally slated this for late 2023, but alas, other internal priorities came in and bumped this. I think we fully intend to do this sometime SoonTM.

OculiViridi commented 8 months ago

Soon ™️.

Love it! 😆

Anyway, I'm thinking about moving (at least for Now ™️) to a web-based terminal emulator like xterm.js (or others) and embed it within a WebView control. Maybe you can give me suggestions about this approach? Thanks!