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

[Settings UI] Add a button to reset the settings to defaults #947

Open
justalemon opened this issue May 22, 2019 · 13 comments
Open

[Settings UI] Add a button to reset the settings to defaults #947

justalemon opened this issue May 22, 2019 · 13 comments
Labels
Area-Settings UI Anything specific to the SUI Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. Product-Terminal The new Windows Terminal.

Comments

@justalemon
Copy link

Summary of the new feature/enhancement

Sometimes, I update between builds and see breaking changes on the configuration side. I know that this is normal on Alpha software but there should be a way to remove the configuration without having to delete profiles.json manually.

This can also be helpful for end users once the Terminal is released.

Proposed technical implementation details (optional)

This can work like the normal Shift + Right Click on the Windows Explorer: A Shift + Left Click on the selector should show more options like the already mentioned Delete/Reset Configuration.

@justalemon justalemon added the Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. label May 22, 2019
@ghost ghost added Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Tag-Fix Doesn't match tag requirements labels May 22, 2019
@zadjii-msft
Copy link
Member

Out of curiosity, do you know which PR introduced a breaking change for the settings? The only two I can think of would be the color names one and the keybindings one. The first left the legacy de-serialization code, so the color tables would be gracefully updated. The latter had a conditional that included checking to see if no keybindings were found, and generating the defaults in that case.

@DHowett-MSFT
Copy link
Contributor

There should not have been any breaking changes in configuration since we released the first open-source version of Terminal. Are you referring to things like #934, #869, #742, #466 and friends that just change the defaults?

@DHowett-MSFT DHowett-MSFT reopened this May 22, 2019
@zadjii-msft zadjii-msft added Area-User Interface Issues pertaining to the user interface of the Console or Terminal Product-Terminal The new Windows Terminal. labels May 22, 2019
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label May 22, 2019
@DHowett-MSFT
Copy link
Contributor

(accidental closure; please disregard)

@DHowett-MSFT DHowett-MSFT added the Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something label May 22, 2019
@justalemon
Copy link
Author

justalemon commented May 23, 2019

Out of curiosity, do you know which PR introduced a breaking change for the settings?

That was a misinterpreted example, I know that there have not been any breaking changes during the last days. I was thinking that in the future with the full implementation of features like icons and multiple WSL distros the configuration format and/or parameter names might change.

Plus, this feature is also useful for when the user changes the values and want to reset them to default.

@ghost ghost added Needs-Attention The core contributors need to come back around and look at this ASAP. and removed Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something labels May 23, 2019
@zadjii-msft
Copy link
Member

I think the long-term intention here is to have a cascading settings model, where there's a static "default settings" file, and the user's settings are in a separate file, which is applied on top of the defaults. In that scenario, the "reset to defaults" flow would just be deleting everything in your user settings. This work is being tracked in #754.

Additionally, there's other work being done to add an actual settings dialog, which will allow for changing the settings without needing to edit the file directly. This seems like a great request for that UI :)

@zadjii-msft zadjii-msft changed the title Add a button inside of the Terminal Selector to reset the configuration [Settings UI] Add a button inside of the Terminal Selector to reset the configuration May 23, 2019
@zadjii-msft zadjii-msft changed the title [Settings UI] Add a button inside of the Terminal Selector to reset the configuration [Settings UI] Add a button to reset the settings to defaults May 23, 2019
@zadjii-msft zadjii-msft added Area-Settings Issues related to settings and customizability, for console or terminal and removed Needs-Attention The core contributors need to come back around and look at this ASAP. labels May 23, 2019
@zadjii-msft zadjii-msft added this to the Terminal v1.0 milestone May 23, 2019
@WSLUser
Copy link
Contributor

WSLUser commented May 23, 2019

here's other work being done to add an actual settings dialog, which will allow for changing the settings without needing to edit the file directly

I think https://github.com/microsoft/vscode would be the best place to look to. The Settings UI there is great and having a similar one (maybe little more simplistic) for the Terminal would be great. Honestly with all the json going on in the backend with Terminal, I'm curious just how much of what VSCode has can be directly ported.

@DHowett-MSFT
Copy link
Contributor

On account of the Terminal is not written in javascript or running in electron but that VSCode is, none of it. 😄

@WSLUser
Copy link
Contributor

WSLUser commented May 23, 2019

Well I knew the bulk of the code there wouldn't be useful due to those reasons but thought the json files may be of use. I took a look at the core files in https://github.com/microsoft/vscode/blob/master/.vscode/ and have to agree they can't be used as is but they do provide a good example for anyone interested in improvements in this repo.

I did just try to look for the UI component for settings and nothing stands out immediately. If it's written in JS/TS then may not be useful though not sure if it's possible to convert to C ++ (don't really mess with the C family much, much prefer python).

@DHowett-MSFT DHowett-MSFT removed the Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting label May 23, 2019
@mrmlnc
Copy link

mrmlnc commented Jun 22, 2019

Just my two cents.

Version: 0.2.1715.0

Accidentally or intentionally, I can delete the contents of the settings file (profiles.json). Unfortunately, I can't get the content back without manually deleting the file.

It would be nice to add a reset button to the dialog:

Annotation 2019-06-22 165036

@aaroneg
Copy link

aaroneg commented Aug 29, 2019

I would personally favor a menu item below "settings" and above "Feedback" to reset settings to default, especially while we're in preview releases. I'm not concerned about breaking changes, and I know how to just delete profiles.json, but the workflow is inconvenient, and removing it seems to be the only way to get Terminal to recognize a new WSL distro unless i want to built a profile for that myself, which isn't a super exciting prospect for me. It also allows Terminal to put new settings in the file like 'copyOnSelect' in the correct place so i can be lazy and just swap that from false to true without having to guess where i should place that in the file.

@gulshan
Copy link

gulshan commented Sep 25, 2019

Has there anything changed with the latest release? The "cascading settings" issue #754 is closed now. Can I just delete the settings file to reset to default?

@zadjii-msft
Copy link
Member

Boy oh boy that comment seems like so long ago. That was written before we even had a good picture of what cascading settings would be like.

@gulshan you could always have done that and had the terminal re-generate a settings file for you. Now when it re-generates the file, it will be much simpler.

The "add a button to delete the settings" work still needs to be done.

@marcelwgn
Copy link
Contributor

So is this up for grabs and if so, what would the ideal way be to implement this? Should a "Delete Settings file" button be placed under or next to the "Open JSON File" button?

@carlos-zamora carlos-zamora modified the milestones: Up Next, Terminal v1.23 Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Settings UI Anything specific to the SUI 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

9 participants