Introducing the Windows Console Colortool


Last week we announced the exciting news that Windows Console has a new default color scheme, and also promised you that we would release a tool to make it easier to change the console to your desired scheme. The Windows Console team is proud to present 'Colortool' which will give you this functionality!

Get the Tool

You can find the tool inside of this Github repository. It's an open source project provided under the MIT license so feel free to clone and fork it!

You can also download the initial release of colortool here as a .zip.

How to Use the Tool

After building colortool, to install it, copy colortool.exe along with the schemes folder to a local directory.  Ensure that colortool.exe and the schemes folder are in the same folder!  For easy use from a command line place colortool in a location that's included in your PATH.

Changing the properties of a Window

Open up Command prompt and run:

  • colortool [scheme name in schemes/ e.g: campbell]
  • Right click on the window title to access the ‘Properties’ dialogue box
  • Once the properties dialogue box opens press OK (which saves the color change)

Applying a color scheme to your defaults

Open up Command prompt and run:

  • colortool -d [scheme name in schemes/]
  • Your current window will not be affected but your defaults now correspond to that theme

Applying a color scheme to both the Window and defaults

Calling 'colortool -b [scheme name in schemes/]' will change both the Window's current theme and the defaults.

For more information on the tool please read the README inside of the Github page.

Note: the new default color scheme of the Windows Console has been titled campbell, and the legacy scheme is titled cmd-legacy inside of the schemes folder.

Included Schemes

The colortool will work with any .itermcolors scheme. We have also included some useful themes inside of the schemes folder for the tool. This tool makes it easier for users to change their color scheme based on their accessibility needs, and we are excited to promote that by adding a color scheme called deuteranopia targeted towards users who have trouble distinguishing red and green. Here's a description of each:

  • campbell : The new default color scheme for Windows Console
  • campbell-legacy : The first iteration of the campbell scheme
  • cmd-legacy : The legacy defaults of the Windows Console
  • OneHalfDark : A dark vim-airline theme by Son A. Pham
  • OneHalfLight : A light vim-airline theme by Son A. Pham
  • solarized_dark : The dark version of a popular color scheme by Ethan Schoonover
  • solarized_light : The light version of a popular color scheme by Ethan Schoonover 
  • deuteranopia : A color scheme targeted towards making red and green clearer to users with red green colorblindness, and deuteranopia.

For example, here is solarized_dark:

We hope you have fun customizing the Windows Console color scheme to look just how you like it!


Comments (48)

  1. James Dorf says:

    Hi. Not all of us have Visual Studio — would it be possible to just provide an executable?

    Thanks/jim

    1. Will look into it, though note that you can install Visual Studio community if you wish.

  2. James Dorf says:

    ..I found “Build Tools for Visual Studio 2017” and can download and install apparently, but it would certainly be easier if you just compiled it for us.

    Tx!

  3. wornohaulus says:

    Got it working. Currently on 10.0.15063. Already looks 10000 times better when using cmd, command prompt and PS.

    Please make the theming part of the properties. Allow adding new themes through external config files with sections for fonts styling, colorstyle, spacing,window behaviour and position properties. Hopefully allow direct import of terminal themes through existing configs.

    1. That’ll require a comprehensive overhaul of our entire settings infrastructure. We aim to explore this in more detail in the future.

  4. Simon says:

    How about a binary release?

  5. Tim says:

    Nice! but do I get this working with bash?

    1. Most Linux shells/tools configure their colors via config files and many request specific colors, not a colors defined by the terminal/console.

  6. shevy says:

    Great!

    I haven’t yet tried the build method though; readme at github states:

    “Either build with Visual Studio, or use the included build.bat from the commandline to try and auto-detect your msbuild version.”

    The second variant seems easier but I am a bit scared that it may be more complicated?

    1. Build.bat is not a very complex script – it just looks in several locations for msbuild.exe, and then essentially calls msbuild, and then invokes MS Build just as Visual Studio would anyhow. VSCode is a great alternative if you don’t want to use Visual Studio itself.

  7. James Dorf says:

    Please post an executable version of this tool for those of us without VB Studio. Thanks.

  8. jcotton42 says:

    Awesome, any chance you could provide a pre-built version?

    1. Will look into this, thanks for the ask.

  9. If I don’t have Visual Studio, how do I go about accessing this wonderful tool?

    1. It’d probably be easiest to install Visual Studio 2017 Community: https://www.visualstudio.com/vs/community/

  10. @leandrw says:

    Love finally meets Windows Console!

  11. Jonas says:

    This is great and I’m really looking forward to trying it when pull request #1 is merged.
    I do have 2 issues:
    What about shortcuts that have coded colors? As I understand this tool will only be able to change the colorscheme of the current process (by running colortool.exe in the session) or change the registry. Are you planning to be able to save the changes to a shortcut somehow?

    Why do you have to open properties and click ok? is this a limitation that cant be dealt with?

    1. Craigaloewen says:

      The tool does change the colorscheme of the current process. By right clicking properties and then clicking OK, that saves the current color scheme to the settings from where that Console Window was loaded.

      So yes this already does work with shortcuts. If you open a Window from that specific shortcut and then run colortool and right click properties and then hit OK that will save that color scheme for that specific shortcut, no need to run colortool again.

      The properties and then click OK method is there because of the current architecture of Windows Console settings. It’s something we are taking a look into improving.

      The settings can be a little confusing so this article is written to help answer some of those questions! https://blogs.msdn.microsoft.com/commandline/2017/06/20/understanding-windows-console-host-settings/

      1. Jonas Andersen says:

        Thank you very much for clearing this up.
        Again, great work

  12. Zaki Saad says:

    This is great, thank you very much.

    Some iterm colour schemes are not being applied correctly, however.

    One issue I have with my console in Windows is a different scheme for different shortcuts – is there any way to remove all custom .lnk configs for powershell, cmd, etc, and have one uniform interface for all to pull the same color scheme?

    1. Alas, no – that’s not how Windows shortcuts work.

  13. Rob says:

    I found a way of how to set it on bash but the steps are ugly.

    1. Right Click on your desktop > Click New > Shortcut. Enter cmd.exe, click next. Name the shortuct Bash for example. Click Finish.
    2. Open the shortcut that you just created. Run colortool and set the theme you want on a cmd window. open properties and click ok to save the theme changes. exit the shortcut.
    3. Right-Click the shortcut and go to properties of the shortcut and change the shortcut from cmd to %windir%\system32\bash.exe ~ then remove the value in Start in:
    4. You can set the icon to %USERPROFILE%\AppData\Local\lxss\bash.ico or anyicon.ico file you please.
    5. Launch bash from the shortcut. Now you have the theme colors.
    6. Launch CMD if you had closed it and complete step 1 to set cmd to colors you wish. You can use the -b switch. Re-launch cmd to confirm that the default cmd is back to the color theme that you want.

    If there is an easier method please let us know. I tried using the default switchs.

    1. As mentioned previously, most Linux shells/tools control their colors via config files, and many request specific RGB colors, not indexes into the terminals’ presets/palettes.

      This is just a stepping-stone tool – we plan on a major overhaul to the Console’s settings infrastructure in a future release.

  14. mneiferbag says:

    Nice. I will give it a try.

  15. Richard says:

    I thought the command prompt was being deprecated in favour of PowerShell?

  16. DWalker07 says:

    “The colortool will work with any .itermcolors scheme”

    Is Itermcolors a typo?

    1. No – “.itermcolors” is the extension iterm uses for color scheme files! For example: https://github.com/mbadolato/iTerm2-Color-Schemes/tree/master/schemes

  17. DWalker07 says:

    What do the 30m, 27m, 40m etc. numbers mean?

  18. Jesse Harris says:

    Can anyone recommend some sane psreadline settings for the solarized_dark theme in powershell?

  19. Usman says:

    How can force powershell to use the default settings? Secondly, solarized dark is hard to use in powershell, the – operators are hardly visible. What’s the best way for changing just the – operator colors

    1. Open PowerShell
      Use colortool to set your colors
      Open Console’s Properties page
      Hit OK (no need to modify anything)

      Now, when you start PowerShell from the same shortcut/command, you should see PowerShell use your chosen colors.

  20. DevHim says:

    What’s the font here?

  21. Rob says:

    Is there a way to apply these settings to the Bash on Ubuntu on Windows consoles? I know that the prompt has to be customized from within bash but the overall color of the console can be colorized by the Properties > Color tab.

    So far I like the new cmd. I don’t have to mess with the registry for TTF to show up. I just had to get used to the settings per shortcut but.
    Things I’d like (sort of feature requests):
    *Built in theme selector on the Properties > Colors tab. Let me browse for my theme files.
    *Enable logging so that I can log ssh client sessions when using bash.

    1. It’s best to configure colors within Linux by modifying Linux’s color config files etc.

  22. Keith Hill says:

    How do you update the colors with this tool for WSL/Bash shell in Windows 10 CU? I tried running “/mnt/c/temp/colortool.exe OneHalfDark” and that didn’t work.

    1. You generally don’t since most *NIX shells and tools control their own color settings via config files and/or request RGB values, not index values.

  23. boris tyukin says:

    this is awesome! thanks for doing this, now I can have my solarized colors! quick question – bash on windows is using backround color for folder names if you do ls command. Is it something I can change? here is an example https://i.imgur.com/CVbBOx4.png

    1. Glad you like it 🙂 In Linux, the shell and app colors are generally configured via config files. The ls command, for example, reads its color settings from /etc/DIR_COLORS which you should be able to update to set your Linux directory listing colors as you wish.

      1. boris tyukin says:

        totally forgot about it, thanks Rich!

  24. Rob Koch says:

    Using Widows 7 Enterprise. The solarized_dark doesn’t look like the one on the screenshot above. Is this for v8+?

    1. ColorTool should work fine for Windows XP+. If you’re seeing problems could you post an issue on the repo (with screenshots)?

  25. nimbosa says:

    i am getting this error from the .Zip and from my own build from the latest release of Visual Studio freshly installed:

    https://support.microsoft.com/en-us/help/2715633/shim-errors-for-the–net-framework-version-and-platform-support

    1. That says you have to enable .NET Framework.

Skip to main content