Profiles.json should provide tab color as part of a scheme and/or profile, with an optional way to introduce variant for multiple instances of the same profile. When a user opens different tabs today, there is very little distinction between the tabs. I'd like to have the ability to apply a color to the tab, perhaps with an alpha so that I could shade both light and dark applications with a accent color representing the type of profile used by the tab. It might be valuable to have an additional accent color which can shade the tab or a portion of the tab uniquely depending on if there are multiple instances of the same profile open, so as to distinguish between them.
I'm not entirely sure how the optional portion would be implemented, so I'll address the first portion first.
{
"profiles" :
{
"tabForeground" : "#aarrbbgg",
"tabBackground" : "#aarrbbgg"
}
}
or
{
"profiles" :
{
"colorScheme" : "Foo"
},
"schemes" :
[
{
"name" : "Foo",
"tabForeground" : "#aarrbbgg",
"tabBackground" : "#aarrbbgg"
}
]
}
Just as with the foreground and background properties, the profile definition overrides the scheme definition. This concept could be expanded later to use other foreground and background identifiers such as images.
Rather than a tab colour, I would like to see the Tab use the background colour, to make the console and tab connected.


I'm partial to @mdtauk's plan as well, but it does lose the nuance of "how to differentiate multiple open tabs of the same type".
I'm partial to @mdtauk's plan as well, but it does lose the nuance of "how to differentiate multiple open tabs of the same type".
Tab/Profile names. But isn't the plan to group different Terminal panes within a single Tab though? #1000
group different Terminal panes
Well, yes, at the user's discretion. If I want to open 600 different powershell _tabs_ and have them all have the same title, I deserve what I get 😉
I like mdtauk's solution, but I'd like to accent my Ubuntu tab with an orange to match the Ubuntu orange. Separately I like how this helps distinguish which tab is currently selected... so maybe what I'm suggesting only applies to the text region?
Looking at the WinUI Tabs issue, there are thoughts about the design which shows the selected tab with a selected indicator strip. Perhaps that colour could be set, either on the profile or by right clicking on a tab and picking a colour?

Here is a design mock-up I contributed
cc @cinnamon-msft
I made some mocks earlier on in the project to demonstrate theming and colored tabs. I like the idea of associating the tab with the background color as well. Then, having the tab go back to the original background color when it isn't selected. This could be a good way to go for v1 then expand on later 😄



This would mean if you set an image background, you have to also set the background color to control the tab, right?
Maybe if you have multiple tabs of the same type we can just randomly tweak the saturation or lightness of each one by ±10 ...
We could also expose this as settable via OSC (meaning apps could make them change)
I raised #3687 before being pointed at this item. In that I suggest taking the ideas here to their logical (to me at least!) conclusion and simply allowing the entire theme to be selectable for each tab since the theme seems to be the thing that is encapsulating all UI variation.
[Jaykul] We could also expose this as settable via OSC (meaning apps could make them change)
As per j4james's suggestion, I'm copying over this comment from 3687:
Another possibility is to add support for runtime alteration of the palette and default fg+bg colors, using the standard OSC 4, 10, 11 (and their +100 counterparts) escape sequences. This would give great flexibility to users, e.g. even picking a random background color from their shell startup files.
Technical note: In VTE + GNOME Terminal we figured out the best is if the OSC sequences have precedence over the UI / config file settings. That is, for each color slot, if its value is defined via OSC 4, 10, 11 then that one is used and the one in the settings is ignored. If a value hasn't been defined via OSC, or has been reset via OSC 104, 110, 111 then the value specified in the terminal emulator's settings is used. This way re-applying the same settings is an idempotent operation. (Previously the two sources were fighting with each other, both overwriting the value in the same slot. That way re-applying the user config (e.g. "altering" a color to the same value) would invalidate a previous OSC, which was bad.)
It seems that specifying tab color in profile should now be possible, after #3789 merge, with only additions to configuration? Seems to be logical next step, to allow initial per-profile configuration of existing runtime option, while using an operating system's accent/different colors within the same profile/background sync may be further steps.
@luzhkovvv Sure will be, but we're tracking this as a part of #3327, which is making sure that we take care of this in a more holistic way then just adding the setting to every profile.
:tada:This issue was addressed in #7162, which has now been successfully released as Windows Terminal Preview v1.3.2382.0.:tada:
Handy links:
Most helpful comment
Rather than a tab colour, I would like to see the Tab use the background colour, to make the console and tab connected.