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

(Variations) Tab Color Involvement in Schemes #9413

Closed
justincpresley opened this issue Mar 8, 2021 · 4 comments
Closed

(Variations) Tab Color Involvement in Schemes #9413

justincpresley opened this issue Mar 8, 2021 · 4 comments
Labels
Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. Needs-Attention The core contributors need to come back around and look at this ASAP. Needs-Tag-Fix Doesn't match tag requirements Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Resolution-Won't-Fix We're just really obstinate about this. There's probably a good reason.

Comments

@justincpresley
Copy link

justincpresley commented Mar 8, 2021

Description of the new feature/enhancement

I propose that a scheme (set within settings) should have different variations. A scheme could adapt it's appearance to match a certain variation which would give a color scheme tons of potential. In Standard practice, there would be a 'default' variation and these variations have the ability to change how the tab is colored.

Proposed technical implementation details

When right clicking a tab in the terminal, instead of "Colors", you would see "Variations". The standard tab colors currently would be included if the variable "defaultVariationsIncluded" is True. If this is True, and the default variations are not overrided, they would simply change the tab color as they currently do now. If this is False, you would only see the defined variations. The "default" variation is special as this is the first variation the theme starts out with.

Furthermore, when you right click the tab under "Variations", the color shown could be the overall color of the theme or just the tabColor.

The scheme would be included in the same way that it currently is now.
Here is an example of how the schemes variable in settings would change:

  "schemes":
  [
    {
      "name": "Afterglow",
      "background": "#212121",
      "foreground": "#d0d0d0",
      "selectionBackground": "#303030",
      "cursorColor": "#d0d0d0"

      "black": "#151515",
      "red": "#ac4142",
      "green": "#7e8e50",
      "yellow": "#e5b567",
      "blue": "#6c99bb",
      "purple": "#9f4e85",
      "cyan": "#7dd6cf",
      "white": "#d0d0d0",
      "brightBlack": "#505050",
      "brightRed": "#ac4142",
      "brightGreen": "#7e8e50",
      "brightYellow": "#e5b567",
      "brightBlue": "#6c99bb",
      "brightPurple": "#9f4e85",
      "brightCyan": "#7dd6cf",
      "brightWhite": "#f5f5f5",
    }
  ]

TO

  "schemes":
  [
    {
      "name":"Afterglow",
      "defaultVariationsIncluded":True,
      "variations":{
          "name" : "default",
          "tabColor":"#000000",
          "cursorColor": "#FFFFFF",
          "selectionBackground": "#FFFFFF",
          "background" : "#0C0C0C",
          "foreground" : "#CCCCCC",
  
          "black": "#151515",
          "red": "#ac4142",
          "green": "#7e8e50",
          "yellow": "#e5b567",
          "blue": "#6c99bb",
          "purple": "#9f4e85",
          "cyan": "#7dd6cf",
          "white": "#d0d0d0",
          "brightBlack": "#505050",
          "brightRed": "#ac4142",
          "brightGreen": "#7e8e50",
          "brightYellow": "#e5b567",
          "brightBlue": "#6c99bb",
          "brightPurple": "#9f4e85",
          "brightCyan": "#7dd6cf",
          "brightWhite": "#f5f5f5",
      }
    }
  ]

Just from looking at this, you can see how expansive this concept of a variation is.

Reason Why and Personal Experience

I proposed this idea as I am / have been working with the windows terminal (the normal release through the Microsoft store) for quite some time now. I work a lot with multiple terminals and each terminal is responsible for a certain 'job'. Denoting the terminals just by tab color (a limited number of them) has become not as clear as it can be.

@justincpresley justincpresley added the Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. label Mar 8, 2021
@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 Mar 8, 2021
@justincpresley justincpresley changed the title (Variations) Tab Coloing Involvement in Color Scheming / Tab Theming (Variations) Tab Color Involvement in Theming Mar 8, 2021
@justincpresley justincpresley changed the title (Variations) Tab Color Involvement in Theming (Variations) Tab Color Involvement in Schemes Mar 8, 2021
@skyline75489
Copy link
Collaborator

I think #3327 covers this?

@zadjii-msft
Copy link
Member

So, is what you're really trying to get at just, "I want to change the color scheme at runtime", is that right? Because there might be an easier way to do this, with the command palette and the "Set Color Scheme" command:

cmdpal-set-color-scheme

Hit Ctrl+Shift+P, enter "set color scheme", then pick which scheme you want. Would that work for you? Maybe not as simple as doing it in the tab context menu, but also probably more powerful

@zadjii-msft zadjii-msft added the Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something label Mar 9, 2021
@justincpresley
Copy link
Author

Yes and No. Part of the request is to change the appearance at run time and your response has provided a quick way to do that. The main part though is having multiple different appearances for a theme and indicating that to the user through the tab / tab menu.

For example, I run/use often Ubuntu, Kali-Linux, Powershell, and the Command Line while working. All of these have different themes, and I use multiple Ubuntu/Kali Instances for representing different 'nodes'. In my setup, a Ubuntu and Kali instance have very different themes to indicate that they are indeed different OS / interfaces. However, representing different Ubuntu instances gets tricky as I currently I can only change the tab color / tab naming.

A messy situation could be having tons of themes labeled "Ubuntu-Red", "Ubuntu-Blue" etc and switch via the example you showed. I just figured that there could be better way.

@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 Mar 9, 2021
@zadjii-msft
Copy link
Member

Eh, after thinking on this for a while, I'm not sure how having multiple different schemes is all that different from having multiple variations of a scheme all in the same scheme object. Whenever #1571 lands, you'll be able to slap custom actions into the dropdown for a tab as well, so you could throw commands for "Set Color Scheme: Ubunutu-Red", "Set Color Scheme: Ubunutu-Blue", etc, into that menu.

A neat idea, but one with simple enough workarounds that it isn't work the added complexity.

@zadjii-msft zadjii-msft added the Resolution-Won't-Fix We're just really obstinate about this. There's probably a good reason. label Mar 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. Needs-Attention The core contributors need to come back around and look at this ASAP. Needs-Tag-Fix Doesn't match tag requirements Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Resolution-Won't-Fix We're just really obstinate about this. There's probably a good reason.
Projects
None yet
Development

No branches or pull requests

3 participants