A dark theme for the Windows 10 Console, supports both PowerShell and cmd.exe.
git integration is available only in powershell via posh-git
There are 4 parts to configure: the colors, the powershell prompt, the cmd.exe prompt, and the titlebar color. All of these are optional.
Colors Installation
- Download and unzip ColorTool. The source code is available from Microsoft.
- Open PowerShell, navigate to unzipped
ColorTool
directory, and runinstall.cmd
. - Right-click on the window titlebar and choose
Properties
, then on theFont
tab choose Consolas. ClickOK
to save.- Note that this step is required, even if your font is already set to Consolas, due to the way that the windows console saves its settings.
For cmd.exe support, perform the same steps above but in a cmd.exe window.
PowerShell prompt
- Install the 1.0 version of posh-git.
- It's currently prerelease, so you'll need to install it with
Install-Module -Name posh-git -AllowPrerelease -Force
- If you don't have an
-AllowPrerelease
flag, upgrade PowerShellGet withInstall-Module -Name PowerShellGet -Force
first.
- It's currently prerelease, so you'll need to install it with
- Ensure the latest version of PSReadLine (2.0 or later) is installed. It's installed by default in Windows 10, but you'll most likely need to upgrade it.
- Include this powershell configuration in your PowerShell
$profile
file.1
cmd.exe prompt
Set the environment variable prompt
to $E[1;32;40m→ $E[1;36;40m$p$E[1;35;40m› $E[1;37;40m
Titlebar color
In Windows 10, the titlebar color can be set system-wide in Settings → Personalization → Colors → Custom color → More → #262835.
What's the PowerShell $profile
file?
This is a PowerShell file that's run when a PowerShell session is started, similar to a .bashrc
. Type $profile
in a PowerShell window to see the path. See https://ss64.com/ps/syntax-profile.html for more detail.
After applying the theme, other consoles don't always have the right colors.
There are two possible reasons for this:
- Step 3 from the theme installation was not followed; it's a requirement for the way that the windows console properties save settings.
- The shortcut used to apply the theme was different from shortcut used to open the console.
- The windows console stores its font / color settings in per-shortcut. You can see / delete the special cases in the registry. Go to
\HKEY_CURRENT_USER\Console\
and delete the subkeys so the default values in theConsole
key are used.
- The windows console stores its font / color settings in per-shortcut. You can see / delete the special cases in the registry. Go to
What's that crazy cmd.exe prompt string?
The cmd.exe prompt value can be broken down into the following ANSI escape sequences:
$E[1;32;40m
- normal text with a green foreground and black background→
- unicode arrow and space$E[1;36;40m
- normal text with a cyan foreground and black background$p
- current drive and path. Seeprompt /?
output for additional values$E[1;35;40m
- normal text with a magenta foreground and black background›
- unicode chevron and space$E[1;37;40m
- normal text with a white foreground and black background
- Uninstall the colors:
- Download and unzip the same archive you used to install the theme.
- Run uninstall.cmd
- Uninstall the prompts:
- Remove the configuration from your powershell
$profile
. - Delete the
prompt
environment variable.
- Remove the configuration from your powershell
This theme is maintained by the following person(s) and a bunch of awesome contributors.
Will Fuqua | Zeno Rocha |
Tim Kilåker - Contributed an updated release of ColorTool.exe.