Skip to content

Productize the WPF, UWP Terminal Controls #6999

Open

Description

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

Note

Dustin, talk to VS folks for DD-2694216 when you merge Interactivity with HwndTerminal; they are reversing every multi-line input delimited by \n because ... reasons.

related

Activity

  1. ghost added
    Needs-TriageIt's a new issue that the core contributor team needs to triage at the next triage meeting
    on Jul 22, 2020
  2. ghost added
    Needs-Tag-FixDoesn't match tag requirements
    on Jul 22, 2020
  3. added and removed
    Needs-TriageIt's a new issue that the core contributor team needs to triage at the next triage meeting
    on Jul 22, 2020
  4. changed the title [-][Reserved for future use][/-] [+]Productize the WPF, UWP Terminal Controls[/+] on Feb 8, 2021
  5. added
    Area-TerminalControlIssues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.)
    Area-WPFControlThings related to the WPF version of the TermControl
    and removed
    Needs-Tag-FixDoesn't match tag requirements
    on Feb 8, 2021
  6. minecraftchest1 commented on May 13, 2021

    @minecraftchest1

    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.

  7. 8 remaining items

  8. OculiViridi commented on Jan 10, 2024

    @OculiViridi

    Mike Griese (@zadjii-msft) Any progress about those Tasks?

  9. zadjii-msft commented on Jan 10, 2024

    @zadjii-msft
    MemberAuthor

    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.

  10. OculiViridi commented on Jan 10, 2024

    @OculiViridi

    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!

  11. Goldgom commented on Dec 31, 2024

    @Goldgom

    End of 2024,any news about it?I am looking for a embedded terminal Control in WinUI3
    I'v already tried the project https://github.com/Corillian/WindowsTerminal but it failed to work in my computer.
    Or what can I do to finish this feature?

  12. mitchcapper commented on Dec 31, 2024

    @mitchcapper
    Contributor

    I was able to get it fully working as a WPF control per my sample repo.

  13. Goldgom commented on Jan 3, 2025

    @Goldgom

    I was able to get it fully working as a WPF control per my sample repo.

    What about WinUi3,my project is a fully WinUi3 project which can not embedde a WPF control in it.

  14. mitchcapper commented on Mar 30, 2025

    @mitchcapper
    Contributor

    钱渊铭 (@Goldgom) My original example required their Terminal.WPF control so would not work on WinUI3, but I have an alpha solution as part of a sample library for peoples use.

    Previously Mike Griese (@zadjii-msft) in this issue it was stated:

    Nope, no progress on this front. EDIT: To clarify, this is in the Icebox, which basically means we don't expect the core team to ever have the resources to get around to this. We'd definitely accept community contributions though.

    My original WPF example was a fully embeddable WPF control although wasn't really in a library form. It wasn't enough of what the Terminal team was looking for, so I went ahead and put together a bit more formal of a library:

    https://github.com/mitchcapper/EasyWindowsTerminalControl

    It supports WPF and has an alpha WinUI3 library. The WPF version is built on the fairly solid foundation my prior example was put together on the Windows Terminal teams WPF control and conpty build. The WinUI3 version is more hacked together, as I had to write a WPF equivalent control which has a hacky custom port of HwndHost.

    The library should support both render only uses and full interactive terminal sessions in a (hopefully) easy to use setup.

    In theory just add EasyWindowsTerminalControl nuget package to your project and then

    <term:EasyTerminalControl StartupCommandLine="pwsh.exe" />

    and you should be good to go. For more details see the project page https://github.com/mitchcapper/EasyWindowsTerminalControl

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

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