What’s new in Windows Console in Windows 10 Fall Creators Update


With Windows 10 Fall Creators Update (FCU) releasing on October 17th 2017, we thought it time to post the list of improvements coming to Windows Console in FCU.

Note: For fans of our sister project, Windows Subsystem for Linux (WSL), please also read our post on "What's New in WSL in FCU".

The Windows Console team have been hard at work during the FCU product cycle. Some of their work is highly visible (and even audible!), and there's been a lot of under-the-covers work underway. Read on for details:

Windows Console Accessibility Improvements

For users who are blind and/or have visual difficulties, the command-line presents a unique set of challenges. Try this out for yourself - open a Console window, close your eyes (no peeking), and try to use the command-line. Many among you might enable Windows Narrator, but you'll find that it doesn't do a good job of reading the Console's contents.

Historically, Windows Console has not done a good job of supporting screen readers like Windows Narrator. 3rd party screen-readers like FreedomScientific's JAWS, and NVAccess' NVDA jump through some pretty complex hoops to read the Console's screen.

We wanted to change that and help make Windows just a little more accessible to our users.

One of the most visible ... and audible ... improvements made to Windows Console in FCU, is that Windows Console's contents can now be read by Windows Narrator and any other screen-reader or tool via the Windows UI Automation infrastructure (UIA). UIA allows applications to navigate Windows apps' UI controls and their contents programmatically. Because Console now exposes each line of the Console's contents to UIA, tools like Narrator and now interrogate Console windows and read their contents to the user.

The video below is a very quick demonstration of this feature in operation.

We'll be following up with a much more detailed post, and demo video soon. Stay tuned!

Improved Text Rendering and VT Code support

Building atop the major improvements to the Console in Creators Update, the Console team also made several important improvements to the Console's text rendering and VT handling.

The net result is that the Console should now render text even more like one would expect on a Linux or Mac console. For example, the Console now correctly renders vim color themes correctly, does a better job of reflowing text when the console windows is scaled, and should render text more quickly in some scenarios.

 

We're not done here though: There are several important input, text, and other VT improvements planned for future releases of Windows Console.

New Default Color Scheme

The default Console color palette has remained unchanged for more than 30 years. And it shows! The original deep navy blue renders far too dark on LCD screens, and many colors are oversaturated and contrast poorly.

In Fall Creators Update, the Console's default colors have been improved and modernized to render more clearly on modern high-resolution displays.

In particular, the deep navy blue has been replaced with a lighter shade of blue. Similarly several other colors have been tweaked and modified to render more clearly, as has the background color which has gone from pure black to a dark shade of charcoal to help soften color contrast a little.

The new default color palette was selected in partnership with the Windows Accessibility and UI Design teams, and has been tested using internationally recognized color & contrast analysis tools.

We encourage you to read the announcement blog, and hope you like the new default color palette. If not, you might like to customize your Console's color scheme using our new tool …

Custom color schemes using ColorTool!

One of the most common asks of the Console is to support custom color schemes. While it'll take a while for us to build formal support for custom color schemes, we have recently released an open-source ColorTool to allow you to import custom color schemes into your Consoles.

Console with Solarized-dark scheme

Console with Solarized-dark scheme

For more details, please read the announcement blog for the ColorTool, and give it a try! We look forward to seeing your pull-requests containing your suggested improvements.

Overhauling the Console's internals

Back in April 2016, we teased the Twitterverse with what looked like a joke, but was actually a (much simplified) overview of the critical work necessary to overhaul the Windows Console's internals:

Console Re-architecture Plan

Console Re-architecture Plan

We are currently giving the Windows Console its biggest overhaul in more than 30 years, injecting new life into one of Windows' most essential, and oldest longest-serving features, and into the Windows command-line ecosystem as a whole.

The team began implementing this plan during Creators Update, and has continued the work during Fall Creators Update

Console re-architecture plan

We have a plan! SHIPIT!

The modernization effort is not quick, nor simple. The overhaul requires significant changes to the Console's internals; replacing legacy/out-of-date code with modern, well-tested replacements; and improving support for many user and customer requests. And all this has to be done without changing existing behavior, and without breaking the world. The Console, it turns out, is one of the most used apps on Windows, second-only to the browser! And its used for many critical tasks and roles, not least of which is building Windows itself, and running every command-line application on every machine world-wide.

Alas, much of this work is not really visible to the end-user, but it is essential for us to complete so that we can start working on high-value end-user-visible features that many of you are asking and waiting for us to deliver!

This work continues, but we're nearing the end of the major re-architecture work: Bear with us as we work to deliver the world-class Console experience that you deserve!

So, what's next for the Console?

The team are already beavering away on the features and fixes for the next Windows release after FCU! These improvements will start to appear in Windows 10 Insider builds in the coming weeks, and will appear in the next major Windows 10 release in several months' time. As always, we'll continue to announce new features and improvements via this blog, and on Twitter via @richturn_ms, so stay-tuned for all the Console and command-line related news!

For those keen to ride the wave of new features, be sure to subscribe to the Windows 10 Insiders fast-ring builds, and be sure to let us know if you find issues!

 

Sincerely, the Windows Console & WSL engineering teams


Comments (14)

  1. Jesse says:

    You got me on board the hype train!

    1. Welcome to the party 🙂

  2. Keith Hill says:

    Is there a way to use colortool to set the colors for a WSL console? If not, what is the easiest way to customize the color scheme for a WSL console?

    1. Not at this point. Most Linux tools manage their own colors and specify colors using 4/6/8-bit RGB VT sequences which bypass terminal/Console color palettes completely.

      Bingle examples of how to configure colors for bash, tmux, vim, etc.

      1. Richard Fuhr says:

        Help me understand this a bit better. With the release of the Fall Creators Update, after installing a new instance of the Windows System for Linux from the Windows Store, will the default colors for that WSL as seen in the Terminal be more readable than they have been up until now?

        1. If you clean-install Fall Creators Update, you should see better colors in Cmd and in any Linux commands/tools that request palette colors (rather than specifying RGB colors). PowerShell modifies its shortcuts, so by default you’ll still get PowerShell’s defaults, though you can update your PowerShell shortcuts to use the new defaults if you wish.

          1. L. says:

            Is there a simple way to reset the colors to what they would be after a clean install, without reinstalling?

      2. L. says:

        Changing the color palette in the shortcut used to start bash.exe would still customize the 16 base colors in the WSL console, wouldn’t it?

  3. Craigaloewen says:

    Can’t wait for the update!

    1. Hey Craig! Excited to see some of your hard work appear as shipped features in Windows 🙂

  4. Kinda: Use the -d flag. This will reset the default colors in the registry. However, if you’re launching Cmd/PowerShell from a shortcut, note that the shortcut may contain its own colors which override the defaults. In which case, run `ColorTool.exe campbell`, open Console properties and hit Ok (don’t need to change anything) – this should write your current color choices to the shortcut.

  5. L. says:

    Does this overhaul enable switching to DirectWrite, or is this still for the far future?
    The main reason I’m waiting for this is that the current Console is very bad at displaying unusual characters, e.g. text fragments in foreign languages that are outside the code page and selected font.

  6. Earth McFlat says:

    I’ve been using OS X since 10.4 (Tiger). Windows command prompt has always been my main issue with the platform. All the updates since Win10 have been a game changer for me and I use Windows more than ever 🙂 Thanks!

    Off the top of my head, the worst remaining offender is loosing history between command prompt relaunch. Shipping with a *few* unix tools or aliases (ls, grep, vim) would be pretty welcomed as well.

    I love you guys and what you are doing. <3

    1. Thanks 🙂 Glad we’re making Windows more usable for you 🙂

      Persisting command history between restarts is on our backlog – bear with us 😉

      I strongly encourage you to start exploring PowerShell which comes with many command aliases for common *NIX commands/tools. See this thread for a discussion from earlier this morning on this very subject 🙂 https://twitter.com/richturn_ms/status/919960569238642688

Skip to main content