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

Encapsulate the background image settings into a JSON object #866

Open
Tracked by #9995
carlos-zamora opened this issue May 16, 2019 · 2 comments
Open
Tracked by #9995

Encapsulate the background image settings into a JSON object #866

carlos-zamora opened this issue May 16, 2019 · 2 comments
Labels
Area-Settings Issues related to settings and customizability, for console or terminal Issue-Task It's a feature request, but it doesn't really need a major design. Product-Terminal The new Windows Terminal.
Milestone

Comments

@carlos-zamora
Copy link
Member

Summary of the new feature/enhancement

As we're adding more settings to the JSON file, do we want to keep what's in each object flat or should we start introducing nested objects? I think having them be nested looks nicer and is easier to read (especially as the settings file gets really big). On the other hand, this might mean that we're forcing settings to look a certain way.

Consider this:

  • Today:
{
    guid: ...,
    useAcrylic: ...,
    colorScheme: ...,
    backgroundImage: ...,
    backgroundImageOpacity: ...,
    backgroundImageStretchMode: ...,
    backgroundImageSetting4: ...,
    backgroundImageSetting5: ...
}
  • Proposal:
{
    guid: ...,
    useAcrylic: ...,
    colorScheme: ...,
    backgroundImage: 
    {
        url: ...,
        opacity: ...,
        stretchMode: ...,
        setting4: ...,
        setting5: ...
    }
}

I think the proposal looks a lot nicer. I'm picking on backgroundImage from #853 but it definitely can apply to some other things like fontProperties (size, family, etc...) and devEnvironment (environmentVariables, startingDirectory, etc...).

Also, I think it's easier to see the benefit when there's a nasty looking settings file as follows:

{
    profileName: ...,
    backgroundImage: ...,
    guid: ...,
    backgroundImageOpacity: ...,
    useAcrylic: ...,
    backgroundImageStretchMode: ...,
    colorScheme: ...
}
@carlos-zamora carlos-zamora added the Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. label May 16, 2019
@ghost ghost added the Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting label May 16, 2019
@ghost ghost added the Needs-Tag-Fix Doesn't match tag requirements label May 17, 2019
@DHowett-MSFT
Copy link
Contributor

We'll also need to investigate what it means to provide connection-specific settings -- once there's more than just the ConhostConnection, we'll want configuration options per connection. Does that make this a better or worse idea?

@DHowett-MSFT DHowett-MSFT added Area-Settings Issues related to settings and customizability, for console or terminal Product-Terminal The new Windows Terminal. and removed Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting labels May 20, 2019
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label May 20, 2019
@zadjii-msft zadjii-msft added this to the Terminal Backlog milestone Jun 19, 2019
@zadjii-msft
Copy link
Member

I'm gonna repurpose this to "encapsulate the background image settings into a JSON object". We've already got non-flat settings for appearances, and for font properties. So this would be fairly easy to do with the background image as well (if wildly less important now with the SUI).

@zadjii-msft zadjii-msft changed the title Feature Request: Make profile settings not-flat Encapsulate the background image settings into a JSON object Nov 22, 2021
@zadjii-msft zadjii-msft added good first issue This is a fix that might be easier for someone to do as a first contribution Help Wanted We encourage anyone to jump in on these. Issue-Task It's a feature request, but it doesn't really need a major design. and removed Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. labels Nov 22, 2021
@lhecker lhecker removed good first issue This is a fix that might be easier for someone to do as a first contribution Help Wanted We encourage anyone to jump in on these. labels Jul 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Settings Issues related to settings and customizability, for console or terminal Issue-Task It's a feature request, but it doesn't really need a major design. Product-Terminal The new Windows Terminal.
Projects
None yet
Development

No branches or pull requests

5 participants