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

Explain the dark mode default in the FAQ #635

Closed
zadjii-msft opened this issue Jan 26, 2023 · 4 comments
Closed

Explain the dark mode default in the FAQ #635

zadjii-msft opened this issue Jan 26, 2023 · 4 comments
Assignees

Comments

@zadjii-msft
Copy link
Contributor

... And link it to the theme global setting, and the Themes page.

Start here:

I posted this once before, and I think it needs restating here


Here's the reasoning in that thread.

I think the interesting thing that we have today is that the color scheme is dark by default, but our window theme is set to system. System theme in Windows 11 is defaulted to light unless changed by the user. Now, we have a conflict between the theme and color scheme in Terminal.

I think our options become, make the color scheme match "default" and set it to a light color scheme if the system theme is light, or manually match the theme to the color scheme by setting it to dark.

Given that Terminal has historically had a black background with its Campbell color scheme, for a consistent UI experience, I'm voting to change the window theme to be dark by default as well.

TLDR: The Terminal is already 99% white text on a black background. We're just lining the titlebar up with that.

We're also giving people a BUNCH of new toggles for customizing the appearance of the window.

  • Customizing the titlebar color: screenshots
  • The color of the tabs (including automatically matching the background): screenshots
  • Different colors for focused/unfocused windows: screenshots
  • and a bunch more stuff

So, feel free to change back to system. Or go to light (if you're a crazy person). Or create a custom Hot Dog theme with yellow tabs and a red titlebar. It's your Terminal, do what you want.

We're just gonna make it finally look sensible for people on their first launch, so it's not a white titlebar and black content.


sidebar: I think people would be even angrier if we changed the default color scheme (READ: the colors used by the text in the terminal) to respect the system theme. There'd probably be a lot of people who have a system theme of light, who haven't ever touched the terminal settings, who'd now get a black text-on-white background terminal content. That would be way more surprising.

@zadjii-msft
Copy link
Contributor Author

zadjii-msft commented Jan 26, 2023

Why is the Terminal's default theme set to dark, when my OS is set to light?

The system theme in Windows 11 is defaulted to light unless changed by the user. However, the terminal's color scheme is dark by default. The vast majority of users aren't going to set the OS theme, or change the Terminal color scheme, so they're just going to see whatever the defaults are. In trying to align the appearance of the terminal with the colors of the titlebar, that essentially means we have a few bad options:

  1. Do nothing (This is what Terminal did before v1.16)
    • In the default setup, this will result a black terminal content, with a light titlebar. This is pretty visually unappealing.
  2. Default the color scheme of the terminal to match the OS theme, and leave the app theme set to system.
    • In the default setup, this will result in their Terminal appearing as black text on a white background!
  3. Change the default theme of the Terminal to dark, regardless of OS theme
    • In the default setup, this will result in their Terminal appearing as white text on a black background, with a dark titlebar.

Option 3 presented the optimum balance of the least surprise to users on the default settings, with the most aesthetically pleasing results.

v1.16 also introduced a BUNCH of new toggles for customizing the appearance of the window:

  • Customizing the title bar color: screenshots
  • The color of the tabs (including automatically matching the background): screenshots
  • Different colors for focused/unfocused windows: screenshots

So, feel free to change back to system. Or go to light.

1.17 introduces some additional flexibility, with the ability to sync the Terminal theme to the OS theme, and sync the color scheme to the OS theme.

TL;DR: The Terminal is already 99% white text on a black background. We're just lining the title bar up with that.

How do I change the theme back to system?

Just add "theme": "system" to your settings.json, or you can change the Theme on the "Appearance" page of the settings.

I set the Terminal to light theme, but the tab is still black, what gives?

This is a side effect of some of the Theme changes introduced in 1.16. In 1.16, the default themes will always use the Terminal's background color as the default color for the tab. So, in the default case, with a black terminal window, you're going to get a black tab. With a blue color scheme (like Campbell PowerShell), you'll get a blue tab. This is to give the Terminal that "seemless" feel.

In light mode, that obviously creates a bit of a weird case where you get a black tab on a white tab row. No worries though! With 1.16, you can customize the theme of the Terminal in lots of new ways. So, if you want a theme where the tabs are white again, you can do something like:

    "theme": "White Tabs",
    "themes":
    [
        {
            "name": "White Tabs",
            "tab":
            {
                "background": "#ffffffff",
            },
            "window":
            {
                "applicationTheme": "light"
            }
        },
    ]

ALTERNATIVELY, you could set the color scheme of the Terminal to something with a white background. If you're using light theme, then maybe that's what you want?

1.17 is going to make this even better, because we've added the ability to set different color schemes depending on the theme of the window, so you can set your scheme like:

"colorScheme":
{
    "light": "One Half Light",
    "dark": "One Half Dark",
},

and now presto - the terminal background will change in accordance with the window.applicationTheme of the Terminal.

@riverar
Copy link

riverar commented Jan 26, 2023

I don't agree with your reasoning but please be sure to document how to restore pre-update appearance. That is:

  • document the theme change back to system
  • document adding "tabColor": "#ffffff" to profile defaults

@interj
Copy link

interj commented Feb 10, 2023

Also take into account that changing the default setting for new installations is fine and unobtrusive, changing a setting for existing ones (even if it was set to what is considered now an obsolete default) is frustrating for the user that was happy with the previous setting.

@mattwojo mattwojo self-assigned this Mar 10, 2023
@mattwojo
Copy link
Collaborator

Add these FAQs to the docs: 6072685

Resolving this issue... but if anyone feels there should be more details, please feel welcome to add a PR or re-open this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants