-
Notifications
You must be signed in to change notification settings - Fork 8.4k
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 - A real settings menu or form wrapper for profiles.json #1497
Comments
I cannot upvote this enough. After reading about this on Scott Hanselman's blog downloaded immediately from the store only to find going to settings fires up VS 2017, urgh! |
Maybe it would be a good idea to open the json (if it persists, no matter if a "real" settings UI will be added) directly in the terminal. They showed some coding on it in the teaser anyway. There should also be some completion, similar to when you are editing for example Code settings. |
Is the settings menu opening for you all? I downloaded this over the weekend and just not got into playing with it, and when I click settings from the "Menu" nothing, and when I hit 'Ctrl + ,' nothing. |
It works for me but I had VisualStudio installed so it opens in that. I would make sure that you have a program set to open .json by default but if that doesn't work you can go to C:\Users\cosmiccatnap\AppData\Local\Packages\ and look for your entry marked Microsoft.WindowsTerminal, mine was in Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState\profiles.json ...The fact you have to do all that just to edit the thing is exactly why this issue exists. |
I wouldn't be against this but I still think that if you expect this application to have wide use eventually it has to have a fully featured menu and the sooner we just go ahead and do that the better for everyone and we can still have the profiles.json if granularity is needed. Editing it is ok but on its best day whatever editor solution they implement in the terminal would be a poor mans vim if they really wan't to keep it "lightweight". The thing though is that really the user shouldn't edit the profiles.json from what I understand, its using hard-coded GUID entries for profiles that map to icons which is just a mess to keep up with. It really should be pointing to an enum or something so that the user could just put "iconType: ubuntu" or something...and the default shouldn't be set based on the GUID it should just be a profile name, so that you know if you open ubuntu it will have this icon which matches ubuntu distributions. so I would say until the json is agnostic to these kinds of hard coded IDs I wouldn't want a user editing them and I wouldn't be able to trust importing one unless I knew for sure the GUID values would always be the same or just be obfuscated away from the user entirely. |
Summary of the new feature/enhancement
If the intention of the Windows Terminal is to conform to modern standards and appease terminal users who are disappointed by the Command Prompt and Powershell offerings it can start by adhering to some basic standards of terminals. With the exception of a few terminals (termite, urxvt, xterm) the overwelming majority of terminals (terminator, gnome terminal, xfce terminal, kde terminal, iTerm2,) and even CMD and Powershell have a menu of some kind that obfuscates the settings file to the user and provides them with an easy to use settings menu or form implementation.
Proposed technical implementation details
When a user clicks the settings button in the Windows Terminal dropdown it should present the user with a settings form similar to how other Terminals, CMD, and Powershell do in that they allow the user to modify the Font, Font Size, Key Bindings, and provides a menu to edit, clone, import, export, create, and delete profiles. It should allow the user to modify most if not all of the values supported by the profiles.json schema.
A secondary issue is the location of the profiles.json file. The profiles.json file is similar to the .Xresources in linux for xterm and urxvt. This is fine if the intention is to provide this to power users who can edit much faster with json than a form for what they want to accomplish but its current location makes that more or less a moot point. To explain the problem better, if I want to edit this file without going to the settings button currently my real path to my profiles.json is
C:\Users\cosmiccatnap\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState\profiles.json
The location of this file should be common and easy to find. It should be in the users directory either under C:\Users\example\profiles.json or in C:\Users\example\Documents\profiles.json. A global default should be installed with the terminal at an also easy to find location in case the user needs to override the file globally or copy it over to rebuild their own local profiles.json such as C:\Program Files\WindowsTerminal\profile.json but if the expectation is that the user will edit this file, it should not be in the AppData location at the least.
The text was updated successfully, but these errors were encountered: