A new Console for Windows - It's the open source Windows Terminal
"My fellow Windows users, our long national nightmare is over." The Windows Terminal is here, it's open source, it's real, and it's spectacular. It's very early days to be clear, but the new Windows Terminal is open source and it's up at https://github.com/microsoft/Terminal for you to check out.
The repository includes
- Windows Terminal
- The Windows console host (
conhost.exe) - a local copy that is separate from the built-in Windows one.
- Components shared between the two projects
- Sample projects that show how to consume the Windows Console API
And even better, it'll be, as they say:
Windows Terminal will be delivered via the Microsoft Store in Windows 10 and will be updated regularly, ensuring you are always up to date and able to enjoy the newest features and latest improvements with minimum effort.
How do you get it? TODAY you clone the repo and build your own copy. There will be early builds in the Store this summer and 1.0 should be out before the end of the year.
As of today, the Windows Terminal and Windows Console have been made open source and you can clone, build, run, and test the code from the repository on GitHub: https://github.com/Microsoft/Terminal
This summer in 2019, Windows Terminal previews will be released to the Microsoft Store for early adopters to use and provide feedback.
This winter in 2019, our goal is to launch Windows Terminal 1.0 and we’ll work with the community to ensure it’s ready before we release!
So today, yes, it'll take some effort if you want to play with it today. But good things are worth a little effort. Here's some of the things I've done to mine. I hope you make your Windows Terminal your own as well!
When you click the menu, check out Settings, which will open your profile.json in your JSON editor. I use VS Code to edit. You'll need to run Format Document to make the JSON look nice as today it may show up on one line.
You can create color profiles in the "schemes" node. For example, here's my "UbuntuLegit" color theme in my profiles.json.
"#4E9A06", "#CC0000", "#300A24", "#C4A000",
"#3465A4", "#75507B", "#06989A", "#D3D7CF",
"#555753", "#EF2929", "#8AE234", "#FCE94F",
"#729FCF", "#AD7FA8", "#34E2E2", "#EEEEEE"
Here's an example profile with all the settings I know about set. This is for "CMD.exe"
"name": "DOS but not DOS",
"colorscheme": "Solarized Dark",
"fontFace": "Cascadia Code",
"padding": "0, 0, 0, 0",
I like the "vintage" cursor and I make it bright green. I can also add icons in this location:
So I put some 32x32 PNGs in that folder and then I can reference them as seen above with ms-appdata://
I'll go into more detail about what's happening in each of these profiles/tabs in the next post! I've got a few creative ideas for taking MY Windows Terminal to the next level.
Here I've set the theme to dark using "requestedTheme" even though I run Windows in a light theme. I'm setting the tabs to be shown all the time and moved the tabs into the TitleBar.
Here's my Ubuntu tab with the UbuntuLegit color theme above:
Notice I'm also using Powerline in my prompt. I'm using Fira Code which has the glyphs I need but you can certainly use patched Powerline fonts or make your own fonts with tools like those from Nerd Fonts and it's font patcher. This font patcher is often used to take your favorite monospace font and add Powerline glyphs to it.
NOTE: If you see any weird spacing issues with glyphs you might try using
--use-single-width-glyphsto work around it. By release all these little issues I assume will be worked out. I had no issues with Fira Code in my case, your mileage may vary.
This new Windows Terminal is great. As mentioned, it's super early days but it's amazingly fast, runs on your GPU (the current conhost runs on your CPU) and it's VERY configurable.
Sponsor: Manage GitHub Pull Requests right from the IDE with the latest JetBrains Rider. An integrated performance profiler on Windows comes to the rescue as well.