Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Default Terminal Spec #7414

Merged
merged 8 commits into from
Feb 25, 2022
Merged

Default Terminal Spec #7414

merged 8 commits into from
Feb 25, 2022

Conversation

miniksa
Copy link
Member

@miniksa miniksa commented Aug 26, 2020

Doc Link

Defines the proposed operation of the default terminal feature.

References

PR Checklist

@miniksa miniksa added Product-Conhost For issues in the Console codebase Issue-Docs It's a documentation issue that really should be on MicrosoftDocs/Console-Docs Product-Conpty For console issues specifically related to conpty Area-Server Down in the muck of API call servicing, interprocess communication, eventing, etc. Product-Terminal The new Windows Terminal. labels Aug 26, 2020
@miniksa miniksa self-assigned this Aug 26, 2020
@miniksa miniksa marked this pull request as draft August 26, 2020 18:15

## Potential Issues

[comment]: # What are some of the things that might cause problems with the fixes/features proposed? Consider how the user might be negatively impacted.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I covered a lot of these in-line above but I could restate briefly or talk about how they cross with other specs going on right now.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Meh, I always thought the "Capabilities" header didn't make any sense. If there are other concerns, I usually stick them here.

I'd think the whole hidden console window / "SW_SHOW" thing that Dustin mentioned in #7337 should probably get a callout here

@miniksa
Copy link
Member Author

miniksa commented Aug 26, 2020

Copy link
Member

@zadjii-msft zadjii-msft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hokay, so obviously if the baby comes and I'm still on block, feel free to dismiss me. Gotta let github know what the last commit I reviewed was.

I think that this has a lot of great fundamentals. I'm mostly concerned with a few of the specifics:

  • The security of the delegation console
  • how the delegation console is actually set - does the Terminal set that up? Does the user need to?
  • What the exact interface we're expecting 3rd party developers to implement is

doc/specs/#492 - Default Terminal/spec.md Outdated Show resolved Hide resolved
doc/specs/#492 - Default Terminal/spec.md Outdated Show resolved Hide resolved
doc/specs/#492 - Default Terminal/spec.md Show resolved Hide resolved
doc/specs/#492 - Default Terminal/spec.md Show resolved Hide resolved
doc/specs/#492 - Default Terminal/spec.md Show resolved Hide resolved
doc/specs/#492 - Default Terminal/spec.md Outdated Show resolved Hide resolved
doc/specs/#492 - Default Terminal/spec.md Show resolved Hide resolved
doc/specs/#492 - Default Terminal/spec.md Outdated Show resolved Hide resolved
doc/specs/#492 - Default Terminal/spec.md Show resolved Hide resolved

## Potential Issues

[comment]: # What are some of the things that might cause problems with the fixes/features proposed? Consider how the user might be negatively impacted.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Meh, I always thought the "Capabilities" header didn't make any sense. If there are other concerns, I usually stick them here.

I'd think the whole hidden console window / "SW_SHOW" thing that Dustin mentioned in #7337 should probably get a callout here

@ghost ghost added the Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something label Aug 28, 2020
@miniksa
Copy link
Member Author

miniksa commented Aug 31, 2020

@ghost ghost removed the Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something label Aug 31, 2020
@miniksa miniksa mentioned this pull request Aug 31, 2020
7 tasks
@sylveon
Copy link

sylveon commented Sep 13, 2020

What happens if a GUI app calls AllocConsole?

@DHowett
Copy link
Member

DHowett commented Sep 13, 2020

@sylveon as prototyped, it’ll open in Terminal. That’s a worthwhile thing to call out!

@microsoft-github-updates microsoft-github-updates bot changed the base branch from master to main October 22, 2020 00:27
DHowett pushed a commit that referenced this pull request Mar 26, 2021
- Implements the default application behavior and handoff mechanisms
  between console and terminal. The inbox portion is done already. This
  adds the ability for our OpenConsole.exe to accept the incoming server
  connection from the Windows OS, stand up a PTY session, start the
  Windows Terminal as a listener for an incoming connection, and then
  send it the incoming PTY connection for it to launch a tab.
- The tab is launched with default settings at the moment.
- You must configure the default application using the `conhost.exe`
  propsheet or with the registry keys. Finishing the setting inside
  Windows Terminal will be a todo after this is complete. The OS
  Settings panel work to surface this setting is a dependency delivered
  by another team and you will not see it here.

## Validation Steps Performed
- [x] Manual adjust of registry keys to the delegation conhost/terminal
  behavior
- [x] Adjustment of the delegation options with the propsheet
- [x] Launching things from the run box manually and watching them show
  in Terminal
- [x] Launching things from shortcuts and watching them show in the
  Terminal   

Documentation on how it works will be a TODO post completion in #9462

References #7414 - Default Terminal spec

Closes #492
@zadjii-msft
Copy link
Member

Hey uh, what do we do with this now? The correct answer is probably "update to match what we shipped in #7489", yea?

@zadjii-msft
Copy link
Member

I'd even be cool with slapping a big:

> **Note**: This spec reflects the original plan for implementing support for defterm, circa {whenever it was authored}.
> The actual implementation in [#7489](https://github.com/microsoft/terminal/pull/7489) has diverged from this doc minorly, but is the current source of truth. 

at the top of this doc and just calling it a day

@miniksa
Copy link
Member Author

miniksa commented Apr 3, 2021

I intend to clean this up and submit it still.

@PolyacovYury
Copy link

Excuse me for spam, if this is one.
Will there be a "manual" on how to actually do this, when this actually reaches the Terminal Preview release?
Current spec seems to focus on "how to achieve this code-wise" rather than "how to achieve this on user side".

@DHowett
Copy link
Member

DHowett commented Apr 21, 2021

@PolyacovYury are you asking as a user who wants to switch their default terminal, or are you asking as a developer who wants to offer one?

If as a user: it is going to be horribly painfully obvious how to do it because we're not going to release a feature like this to millions of people without blogging, documenting, and tweeting about it. 😄

If as a developer: stay tuned; we do not have a solid message here yet.

@PolyacovYury
Copy link

@DHowett As a user, of course. Good to know, thank you!

P.S. I was just wondering if this is ready to at least try to test out, since #7489 got merged and all.

@skyline75489
Copy link
Collaborator

@PolyacovYury Unfortunely the answer is no for most people. This feature requires changes on the OS-side. If you're a Windows insider, you can probably test it out in future insider release.

I don't honestly know if this is available in the latest insider release. Correct me if I'm wrong.

@angry-bender
Copy link

@PolyacovYury are you asking as a user who wants to switch their default terminal, or are you asking as a developer who wants to offer one?

If as a user: it is going to be horribly painfully obvious how to do it because we're not going to release a feature like this to millions of people without blogging, documenting, and tweeting about it. 😄

If as a developer: stay tuned; we do not have a solid message here yet.

Thank you :-) @DHowett this is a much needed feature, it will be great to have as an option to Win+X. Cant wait to see the release when it comes out of insider. Is there an issue or RSS to follow?

@skyline75489
Copy link
Collaborator

@angry-bender I think you can follow Windows Command Line Blog which is good source for all things command line.

@pablo8itall
Copy link

pablo8itall commented Apr 30, 2021

Probably my most wanted feature, so glad to see some progress on it. If I never see conhost/cmd.exe (which ever it is) again, happy days. I use Terminal everyday for work (Powershell) and fun (wsl/python/DFhack). Makes windows usable for me. Big thanks to all of you.

@github-actions

This comment has been minimized.

@miniksa miniksa force-pushed the dev/miniksa/defterm_spec branch from 1ffb479 to 221fb93 Compare January 14, 2022 01:28
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

Copy link
Member

@zadjii-msft zadjii-msft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

doc/specs/#492 - Default Terminal/spec.md Outdated Show resolved Hide resolved
Add references from PR to this.
@miniksa miniksa marked this pull request as ready for review February 23, 2022 21:21
@miniksa
Copy link
Member Author

miniksa commented Feb 23, 2022

@DHowett, @lhecker if I could get some signatures, I'll bring this in finally. It's implemented anyway.

@ghost
Copy link

ghost commented May 24, 2022

🎉Windows Terminal Preview v1.14.143 has been released which incorporates this pull request.:tada:

Handy links:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Server Down in the muck of API call servicing, interprocess communication, eventing, etc. Issue-Docs It's a documentation issue that really should be on MicrosoftDocs/Console-Docs Product-Conhost For issues in the Console codebase Product-Conpty For console issues specifically related to conpty Product-Terminal The new Windows Terminal.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants