Terminal: Missing core features (or their doc)

Created on 8 Feb 2020  ·  3Comments  ·  Source: microsoft/terminal

I am a heavy user of conEmu on WIndows as well Terminator on Linux and came to this repo with high hopes but there seems to be many missing features. To remain fair to other terminals, I expected to find this basic information in Readme but I couldn't so I assume these are the missing features.

  1. How do I divide the window into multiple sizable terminals (aka layout)? There is nothing in readme and nothing in UX to know if this core feature exists.
  2. What are all the settings available? Again nothing in the readme or in UX. When I click settings in UX, it opens up settings file buried in non-user folder with very few settings without much comments. I would highly recommend yaml for self-documenting settings file. Also, settings file should reside in user folder as .windows-terminal.config or something like that and employ VSCode like override mechanism.
  3. How do I make it rto emember my session? Everytime I reopen Terminal, it starts new PowerShell (which I don't use).
  4. How do I set working directories and commands for each terminal (in tab or layput)? Again nothing in readme or UX to make this intuitive (if feature already exists).

I feel above 4 are the core features before leaning on Windows Terminal full time.

Thank you for this effort and hope this can be equivalent of Terminator on Linux (not the most self-explanatory UX but I still can figure out the above features :)).

Area-Settings Issue-Question Needs-Triage Product-Terminal Resolution-Answered

Most helpful comment

Hello @sytelus, hopefully, this will be useful.

  1. How do I divide the window into multiple sizable terminals (aka layout)? There is nothing in readme and nothing in UX to know if this core feature exists.

Panes are possible, here’re the related keyboard shortcuts:

https://github.com/microsoft/terminal/blob/4a3ed3eb51c9a66e971a8c8e70887f7d2c429d26/src/cascadia/TerminalApp/defaults.json#L242-L243

https://github.com/microsoft/terminal/blob/4a3ed3eb51c9a66e971a8c8e70887f7d2c429d26/src/cascadia/TerminalApp/defaults.json#L234-L237

https://github.com/microsoft/terminal/blob/4a3ed3eb51c9a66e971a8c8e70887f7d2c429d26/src/cascadia/TerminalApp/defaults.json#L213-L216

I agree it would be nice to have a dedicated settings UI, but considering the fact that technical people are used to working with text files, I also think that the lack of it shouldn’t be a huge issue.

  1. What are all the settings available? Again nothing in the readme or in UX. When I click settings in UX, it opens up settings file buried in non-user folder with very few settings without much comments. I would highly recommend yaml for self-documenting settings file. Also, settings file should reside in user folder as .windows-terminal.config or something like that and employ VSCode like override mechanism.

The topmost comment in profiles.json—that’s the one you open from the UI—mentions it:

// To view the default settings, hold "alt" while clicking on the "Settings" button.

This opens the file I linked above, and it shows all settings that can be changed. Since the terminal is in development and is several months from hitting v1.0, you might need to follow the development and occasionally delete profiles.json to recreate it with settings that were missing. Also, VSCode shows settings’ descriptions in profiles.json when a setting is hovered.

  1. How do I make it rto emember my session? Everytime I reopen Terminal, it starts new PowerShell (which I don't use).

Set this in your settings (if I’m not mistaken, can be a profile’s name, guid, or index):

https://github.com/microsoft/terminal/blob/4a3ed3eb51c9a66e971a8c8e70887f7d2c429d26/src/cascadia/TerminalApp/defaults.json#L4

  1. How do I set working directories and commands for each terminal (in tab or layput)? Again nothing in readme or UX to make this intuitive (if feature already exists).

Should be set for each profile:

https://github.com/microsoft/terminal/blob/4a3ed3eb51c9a66e971a8c8e70887f7d2c429d26/src/cascadia/TerminalApp/defaults.json#L22

Panes also use this setting, and I don’t think this behavior can be changed right now.

In any case, if all is well, v1.0 should be released in April.

All 3 comments

Hello @sytelus, hopefully, this will be useful.

  1. How do I divide the window into multiple sizable terminals (aka layout)? There is nothing in readme and nothing in UX to know if this core feature exists.

Panes are possible, here’re the related keyboard shortcuts:

https://github.com/microsoft/terminal/blob/4a3ed3eb51c9a66e971a8c8e70887f7d2c429d26/src/cascadia/TerminalApp/defaults.json#L242-L243

https://github.com/microsoft/terminal/blob/4a3ed3eb51c9a66e971a8c8e70887f7d2c429d26/src/cascadia/TerminalApp/defaults.json#L234-L237

https://github.com/microsoft/terminal/blob/4a3ed3eb51c9a66e971a8c8e70887f7d2c429d26/src/cascadia/TerminalApp/defaults.json#L213-L216

I agree it would be nice to have a dedicated settings UI, but considering the fact that technical people are used to working with text files, I also think that the lack of it shouldn’t be a huge issue.

  1. What are all the settings available? Again nothing in the readme or in UX. When I click settings in UX, it opens up settings file buried in non-user folder with very few settings without much comments. I would highly recommend yaml for self-documenting settings file. Also, settings file should reside in user folder as .windows-terminal.config or something like that and employ VSCode like override mechanism.

The topmost comment in profiles.json—that’s the one you open from the UI—mentions it:

// To view the default settings, hold "alt" while clicking on the "Settings" button.

This opens the file I linked above, and it shows all settings that can be changed. Since the terminal is in development and is several months from hitting v1.0, you might need to follow the development and occasionally delete profiles.json to recreate it with settings that were missing. Also, VSCode shows settings’ descriptions in profiles.json when a setting is hovered.

  1. How do I make it rto emember my session? Everytime I reopen Terminal, it starts new PowerShell (which I don't use).

Set this in your settings (if I’m not mistaken, can be a profile’s name, guid, or index):

https://github.com/microsoft/terminal/blob/4a3ed3eb51c9a66e971a8c8e70887f7d2c429d26/src/cascadia/TerminalApp/defaults.json#L4

  1. How do I set working directories and commands for each terminal (in tab or layput)? Again nothing in readme or UX to make this intuitive (if feature already exists).

Should be set for each profile:

https://github.com/microsoft/terminal/blob/4a3ed3eb51c9a66e971a8c8e70887f7d2c429d26/src/cascadia/TerminalApp/defaults.json#L22

Panes also use this setting, and I don’t think this behavior can be changed right now.

In any case, if all is well, v1.0 should be released in April.

FYI, you can find documentation on most of these features here:
https://github.com/microsoft/terminal/tree/master/doc/user-docs

I'm pretty sure @Banandrew has done an excellent job answering this question. I couldn't have said it better myself :)

@sytelus if you have any further questions, I'd be happy to help point you in the right direction.

Was this page helpful?
0 / 5 - 0 ratings