Skip to content

[Feature request] [Settings UI] Import a color scheme from a json file #8639

Open

Description

Description of the new feature/enhancement

I was trying the new settings UI and I found that adding a new color scheme is actually harder than using the json editor. When using the json editor I can directly copy the colors. But with settings UI I cannot do that anymore, which frustrates me a bit. I'd like to propose the feature to import a json file as color scheme. This way all those color schemes in https://github.com/mbadolato/iTerm2-Color-Schemes/tree/master/windowsterminal can be used easily.

This is inspired by iTerm2 on macOS.

Proposed technical implementation details (optional)

Ideally it should be just adding a button, parse the json & save.

Activity

  1. added
    Issue-FeatureComplex enough to require an in depth planning process and actual budgeted, scheduled work.
    on Dec 23, 2020
  2. ghost added
    Needs-TriageIt's a new issue that the core contributor team needs to triage at the next triage meeting
    on Dec 23, 2020
  3. ghost added
    Needs-Tag-FixDoesn't match tag requirements
    on Dec 23, 2020
  4. skyline75489 commented on Dec 23, 2020

    @skyline75489
    CollaboratorAuthor

    I love the settings UI, of course. However, I'm personally comfortable modifying most of the settings using plain old json editors, too. But this one is different. Being able to import a color scheme directly from GUI makes huge different to the entire workflow. I feel that this feature, together with the color scheme preview mentioned in #6800, is really going to help the overall experience with color schemes.

  5. PankajBhojwani commented on Dec 23, 2020

    @PankajBhojwani
    Contributor

    Once #7632 lands, colour schemes will be import-able from json files!

  6. ghost removed
    Needs-Tag-FixDoesn't match tag requirements
    on Dec 23, 2020
  7. zadjii-msft commented on Jan 3, 2021

    @zadjii-msft
    Member

    I'm yanking triage off this and sticking it on the backlog. I like this idea a lot - especially if you can import multiple files all at once. The iterm2-color-schemes repo lists all the schemes as individual files. It'd be handy to be able to just download the directory, then import all the files from that folder.

  8. removed
    Needs-TriageIt's a new issue that the core contributor team needs to triage at the next triage meeting
    on Jan 3, 2021
  9. carlos-zamora commented on Feb 11, 2021

    @carlos-zamora

    Adding design-needed on here. The design shouldn't need a full design doc tbh. I just want to think about the following scenarios and get a quick "I like that" signoff:

    Assuming the color schemes page is designed to look something like this (from this comment):
    color scheme page redesign

    Here's a few ideas:

    1. Split button flyout
      Split button flyout

    2. Split button flyout (minimalist)
      use download button
      use import button

    3. 2 buttons - separate actions
      use download button
      use import button

    Let me know which one you like best (or submit your own design).

    As for an implementation plan, currently scheduling this work for v1.9. I'm ok with somebody taking this off my hands as long as the design is approved and we have a positive handoff.

  10. 7 remaining items

  11. carlos-zamora commented on Jul 12, 2021

    @carlos-zamora
    1. Split button flyout
      Split button flyout

    I'm busy doing other stuff, so I'm marking this as help-wanted and moving it to the v2.0 milestone. If anybody wants to go ahead and take this on, that'd be great! If not here's some notes:

    I agree that the attached split-button design looks best, so let's go ahead and do that.

    If anybody wants to go ahead and figure out "Export" too, that'd be neat, but not necessary. 😉

    Suggested Implementation Details

  12. j4james commented on Jul 12, 2021

    @j4james
    Collaborator
    1. Split button flyout
      Split button flyout

    Is it really necessary to make users specify the file type up front? Couldn't we just let them pick any file and have the code autodetect the format when it tries to import it.

  13. carlos-zamora commented on Jul 13, 2021

    @carlos-zamora
    1. Split button flyout
      Split button flyout

    Is it really necessary to make users specify the file type up front? Couldn't we just let them pick any file and have the code autodetect the format when it tries to import it.

    oh derp. Yeah, that's better.

    In that case, let's go with design 2:

    1. Split button flyout (minimalist)
      use download button
      use import button

    I'm realizing now, we could also progressively add more things to the dropdown menu like "duplicate" and anything else we may think of.

  14. Chaphasilor commented on Jan 22, 2022

    @Chaphasilor

    Couldn't we just let them pick any file and have the code autodetect the format when it tries to import it.

    technically that works of course, but in that case it would be good to show supported file types somewhere, otherwise a user could think they might be able to import .ini files or something similar.
    in practice, this could be a simple as creating a filtered file picker that only allows certain extensions to be picked.

  15. zadjii-msft commented on Jun 6, 2024

    @zadjii-msft
    Member

    As noted in #17329, we probably want to support actions in a similar way. e.g. support importing YAML from https://www.commands.dev/ as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-SettingsUIAnything specific to the SUIHelp WantedWe encourage anyone to jump in on these.Issue-FeatureComplex enough to require an in depth planning process and actual budgeted, scheduled work.Product-TerminalThe new Windows Terminal.

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions