24-bit Color in the Windows Console!
One of the most frequent requests we receive is to increase the number of colors that the Windows Console can support. We love nothing more than to deliver features you ask for!
But rather than just add a few more colors, or limit our console to a mere 256 colors, in Windows 10 Insiders Build #14931,
we’ve updated the Windows Console to support full, glorious 24-bit RGB true color!
This is actually a little tricky to demo since most Windows apps only support 16 colors at most whereas the Linux world has broadly supported 256 color terminals for a while now, and 24-bit color is becoming more established.
Thanks to our ability to run Linux apps and scripts using our new Bash on Ubuntu on Windows environment atop the Windows Subsystem for Linux (WSL), we can use some Linux scripts and tools to demonstrate the Console’s new 24-bit color support:
We’ve not yet started work on improving the console properties page to support the Console’s new color rendering capabilities, and we’ve not modified the default Windows color mappings; we’ll be making improvements here, and on the many, MANY other features queued-up in our backlog in future builds.
The Windows Console Team.
Hi, somehow I’ve managed to disable my Command Prompts ability to parse colour codes, so now text appears like this:Received [31;1mArrows (10)[0m from [33mKyrie[0m (Sanctuary) (2/9 in list)How do I re-enable the parsing of colour codes in Windows 10 Pro v1903?
Turns out I failed to install a dependency package that handles the colourizing of the text. Very sorry about that, you can delete this and my previous comment if you want.
The ability to set custom fonts on the console (multiple) would be a nice addition too, have a look at the XBIN format:
An ANSI standard code for getting the 24-bit RGB value of the character at the current x/y coord would be good as well.
Most terminals do not allow command line apps to read the contents of the terminal.
However, Windows does expose a Win32 API to allow command-line apps to read the contents of the Console. This is a historical anomaly and should be avoided because doing so will limit/prevent one’s ability to port command-line apps across platforms.