In the Fall Creators Update, Microsoft is going to change the default color scheme used by Windows’ console windows.
After years of neglect, Microsoft has been working to update and overhaul the Windows command-line interface. With the development of the Windows Subsystem for Linux (WSL) and continued investment in PowerShell, the shortcomings of the Windows command-line windows themselves have become more apparent. Previous Windows 10 updates updated the console to offer 24-bit color and support for ANSI escape codes, and nowadays it offers sensible behavior when resizing and maximizing the window.
The color scheme change is a small quality-of-life improvement that addresses one of the more annoying aspects of the console: its default color scheme is rather hard to read. The bright blue color, in particular, is near-illegible on high contrast screens. The new colors are easier to read and more consistent with the colors used in other terminal apps.
To see the new colors, you’ll need to use a new Windows 10 build (the scheme will first appear in build 16257) and perform a clean install. Upgrade installs won’t get the new colors, because upgrades try to preserve system settings, with the console colors being among those preserved settings. Microsoft says that it will later release a tool to update existing installs to use the new colors.
Even with this work, the Windows console is still weak compared to its counterparts in macOS and Linux. In Windows, the operating systems-supplied console windows are closely tied to the command-line applications that use them; it’s impossible to create a command-line application that isn’t attached to a Windows console window. Linux and macOS offer a separation between the software that’s displaying the console apps and the console apps themselves. Those operating systems have a built-in default console, but unlike Windows, they don’t have to use it; third-party software can fill the same role.
Attractive, modern terminal applications like iTerm on macOS and Unix stalwarts such as screen (which enables multiple command-line shells to share a single console window) take advantage of this extensibility. Neither kind of application can be readily developed for command-line apps on Windows, and while people have tried to work around Windows’ limitations (for example, by hiding the Windows built-in console windows off-screen somewhere), the results are imperfect.
We’re told that there are plans in store to finally address this weakness of Windows, though what the solution will be is at present unknown.