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

Feature Request: /help commands output to collapsible pane #644

Open
mdtauk opened this issue May 9, 2019 · 10 comments
Open

Feature Request: /help commands output to collapsible pane #644

mdtauk opened this issue May 9, 2019 · 10 comments
Labels
Area-Extensibility A feature that would ideally be fulfilled by us having an extension model. Area-User Interface Issues pertaining to the user interface of the Console or Terminal Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. Product-Terminal The new Windows Terminal.
Milestone

Comments

@mdtauk
Copy link

mdtauk commented May 9, 2019

When using command line tools, I often have to continuously repeat typing command /help to remind myself what I can do with the app.

If there was a way to output the text displayed when typing /help to a collapse box on the screen, I could then expand it to find a command, without having to keep either scrolling, or re-running the command

@DHowett-MSFT
Copy link
Contributor

Maybe it could be a cool differentiating feature to be able to select a region and pin it (or pull it out)?

@mdtauk
Copy link
Author

mdtauk commented May 9, 2019

Maybe introduce the concept of Terminal specific commands. Maybe
Command.exe /help #region

Which will place any output from that command into a side pane

@binarycrusader
Copy link
Member

Named pipes would be ideal here I think, but if I recall correctly there are restrictions around UWP apps and pipes. Something like:

program.exe /help >\\.\pipe\terminal_region_name

The unc syntax is unfortunate, but it would be more generic and helpful and reuse the existing cmd mechanisms.

If I recall correctly, the restriction on named pipes with uwp apps is that you can do that between two uwp apps or two non-uwp apps, so maybe this will work?

@mdtauk
Copy link
Author

mdtauk commented May 9, 2019

Not sure if it is possible to choose some kind of syntax that would be ignored by the existing command line, but recognised by the Windows Terminal. Just in case a batch script leaves it in when shared online

@oising
Copy link
Collaborator

oising commented May 9, 2019

Maybe it could be a cool differentiating feature to be able to select a region and pin it (or pull it out)?

I think this is probably the only reasonable suggestion here. Using Windows named pipes ties shell scripts to a specific terminal, and specifically a Windows-only terminal. It's often tough enough to get scripts to work on the same family of shells :) The same goes for using meta keywords like #region or something. @DHowett-MSFT 's suggestion doesn't tie the script to the terminal implementation, so it's the only sane one.

@mdtauk
Copy link
Author

mdtauk commented May 9, 2019

If doing it as part of the typed command is a no go, then perhaps the ability to pin or drag output into a side pane. Perhaps with a pin icon beside the outputted text or via a context menu?

Long output and having to select all the lines could be cumbersome

@binarycrusader
Copy link
Member

It all depends on what the goal is. If the goal is to redirect output in a dynamic fashion, then pipes, etc. are the only portable way that I can think of offhand to do that through a shell, and people coming from a *NIX background are used to that model.

If the goal is to simply create a collection of content for easy reference, then the "snip" and "pin" model might work quite nicely.

@binarycrusader
Copy link
Member

binarycrusader commented May 10, 2019

Using Windows named pipes ties shell scripts to a specific terminal, and specifically a Windows-only terminal. It's often tough enough to get scripts to work on the same family of shells :)

Using named pipes shouldn't tie scripts to a specific terminal or a Windows-only terminal -- *NIX systems have those too, but I'm sure I'm just misunderstanding what the concern being expressed here is. The pipes concept is fairly universal in the developer world so it would be helpful to better understand the concern. The *NIX philosophy very much gravitates towards files. "snip" & "pin" vs redirection both have tradeoffs in opposite directions.

@zadjii-msft
Copy link
Member

For the record, Windows Terminal is a normal win32 application that's using UWP UI elements via XAML Islands. So named pipes aren't going to have the same problems for us that other UWP apps might have.

I really do like this idea of pinning a region of output. Maybe we could store all the pinned blobs you have, and open a new pane on the side to display your pins?

As far as doing it on the commandline, maybe we add support for man ping > wt.exe --pin or something. That way it can be shell-agnostic

@zadjii-msft zadjii-msft added the Issue-Question For questions or discussion label May 10, 2019
@mdtauk
Copy link
Author

mdtauk commented May 10, 2019

So if there is merit in the idea of pinning outputs or snippits to a collapsible side pane, it is about how this is done, and what might you be able to do with the snippits once they are copied to this side pane.

  • Maybe you can click/tap on these snippits to insert them?

  • Maybe you can copy and paste a series of commands to this side pane, and then insert them with a tap?

  • Maybe you can export the side pane contents?

  • Do they appear like the sticky notes list? (without the time stamps and sticky note styling)
    image

  • Is it a single pane shared by all consoles, or one pane per console? (I am in favour of one per console to avoid confusion of formatting and Linux commands used in Console etc)

@ghost ghost added the Needs-Tag-Fix Doesn't match tag requirements label May 17, 2019
@miniksa miniksa added Area-User Interface Issues pertaining to the user interface of the Console or Terminal Product-Terminal The new Windows Terminal. and removed Mass-Chaos labels May 17, 2019
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label May 17, 2019
@miniksa miniksa added Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. and removed Issue-Question For questions or discussion labels May 17, 2019
@zadjii-msft zadjii-msft added the Area-Extensibility A feature that would ideally be fulfilled by us having an extension model. label Nov 26, 2019
@zadjii-msft zadjii-msft added this to the Terminal Backlog milestone Jan 9, 2020
@zadjii-msft zadjii-msft modified the milestones: Terminal Backlog, Backlog Jan 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Extensibility A feature that would ideally be fulfilled by us having an extension model. Area-User Interface Issues pertaining to the user interface of the Console or Terminal Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. Product-Terminal The new Windows Terminal.
Projects
None yet
Development

No branches or pull requests

6 participants