Make Windows Terminal RockzZ
September 9th, 2020
The terminal is a mighty tool, even though it looks like just a prompt with a host-name and current working directory. It's default appearance can be a bit boring. In this article, I'll show you how you can customize it to fit your needs and preferences and go from this:
To this:
This is just a very quick blog post to share my customized Windows Terminal settings.json, and it should give you an idea of how you can customize the Windows Terminal for your needs.
Back in the days when Windows XP users were in the rise and trending all over the world, the actual developers preferred to operate their desktop completely using the keyboard. And Command Line Interface(CLI) was their favorite tool to achieve this gruelling foot.
Till now, we have been used to typing "cmd" in the search box of Windows Taskbar. But from now on, maybe you need to search for something else in that search box because Microsoft has proudly announced the launch of its new and feature rich "Windows Terminal".
It is available in Microsoft Store to download click the button below.
Download Windows TerminalWindows Terminal is a modern terminal application for users of command-line tools and shells like Command Prompt, PowerShell, and Windows Subsystem for Linux (WSL). Its main features include multiple tabs, panes, Unicode and UTF-8 character support, a GPU accelerated text rendering engine, and the ability to create your own themes and customize text, colors, backgrounds, and shortcut key bindings.
In this article, you learn how to:
- 🔅 Set up Powerline in PowerShell
- 🔅 Customize your PowerShell prompt
- 🔅 Install a Powerline font
- 🔅 Add missing Powerline glyphs
- 🔅 Additional prompt customization
- 🔅 Rename and Recolor tabs
- 🔅 Change the Background
Set up Powerline in PowerShell
I assume that by now, you have opened "Windows Terminal" and the first thing you will see is "Windows Powershell". Using PowerShell, install Posh-Git and Oh-My-Posh. But before that if you don't already have it, install Git for Windows
bashInstall-Module posh-git -Scope CurrentUserInstall-Module oh-my-posh -Scope CurrentUser
You may need to install NuGet if you don't already have it. Your PowerShell command line will ask if you want to install NuGet if this is the case. Select [Y] Yes. You may also need to approve that you are installing modules from PSGallery, an 'untrested repository'. Select [Y] Yes.
Posh-Git adds Git status information to your prompt as well as tab-completion for Git commands, parameters, remotes, and branch names. Oh-My-Posh provides theme capabilities for your PowerShell prompt.
If you are using PowerShell Core, install PSReadline:
bashInstall-Module -Name PSReadLine -Scope CurrentUser -Force -SkipPublisherCheck
PSReadline lets you customize the command line editing environment in PowerShell.
Customize your PowerShell prompt
Open your PowerShell profile with notepad $PROFILE
or the text editor of your choice. This is not your Windows Terminal profile. Your PowerShell profile is a script that runs every time PowerShell starts.
In your PowerShell profile, add the following to the end of the file :
ps1Import-Module posh-gitImport-Module oh-my-poshSet-Theme Paradox
Now, each new instance starts by importing Posh-Git and Oh-My-Posh, then setting the Paradox theme from Oh-My-Posh.
Now, open new tab in Windows Terminal you will have an error message like this
To fix this open Windows Terminal as an Administrator and set the execution policy by typing this into your PowerShell window.
bashSet-ExecutionPolicy RemoteSigned
So our very first step is completed and you will have a Customn Windows Terminal which will look something like this:
Install a Powerline font
Though Cascadia Mono does not include Powerline glyphs, you can install Cascadia Code PL or Cascadia Mono PL, which have the Powerline glyphs included. These fonts can be installed from the Cascadia Code GitHub releases page.
Add missing Powerline glyphs
To set the Cascadia Code PL font for use with PowerLine, you will need to open your profile settings in your settings.json file by selecting Settings (Ctrl + ,) from your Windows Terminal drop-down menu.
Once your settings.json file opens, find the Windows PowerShell profile and add: "fontFace": "Cascadia Code PL"
to designate Cascadia Code PL as the font. This will provide those nice Cascadia Code Powerline glyphs. You should notice the change in your terminal as soon as you select Save in your editor.
Your Windows PowerShell profile settings.json file should now look like this:
json{// Make changes here to the powershell.exe profile."guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}","name": "Windows PowerShell","commandline": "powershell.exe","fontFace": "Cascadia Code PL","hidden": false}
And your Windows Terminal will now look like this:
Additional prompt customization
It's always me on the same Windows PC, no need to remind myself to that, and also I'd like save a bunch of wasted space..
I knew you will say that, and you might would like to exclude the user@host
part. For that first test you UserName by typing this into your PowerShell window. $DefaultUser = 'user'
here user should be your username. If it works then open your PowerShell profile again, and add the same line at the end.
ps1$DefaultUser = 'sumes'
And finally we made our Windows Terminal to RockzZ
Rename and Recolor tabs
You can easily rename and recolor tabs in Windows Terminal. Just right click on a tab and select Rename Tab to rename a tab for that session. This option will change your tab title into a text field, where you can then edit the title.
Do the same to recolr your tab. Select from a predefined list of colors or click Custom to use the color picker or the RGB/HSV OR hex fields. One cool tip is to use the hex field to set your tab to the same color as your background color for a seamless look.
Change the Background
You can change the background to any type of image file you like - a PNG, a JPEG, or even an animated GIF.
To change the background of any of the shells, you'll first need to place the image file in a location the Terminal App can read. Windows Terminal is a Universal Windows Platform (UWP) app, so it prefers to use its own AppData folder. AppData is a folder you usually find in the User Profile and is used for storing program settings. UWP apps create a custom AppData folder and use that instead. Windows terminal's AppData folder is located in :
pathC:\Users\sumes\AppData\Local\Packages\Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe\RoamingState
Just copy that into File Explorer's path and change the username "sumes" to your username then hit Enter, you'll be taken to the correct location. Place your image files here , and Windows Terminal can use them for backgrounds.
Open Settings in Windows Terminal, and scroll to the profile you want to change. To change the background image add the following lines.
json"backgroundImage": "ms-appdata:///roaming/gif1.gif","backgroundImageOpacity": 0.2,"backgroundImageStretchMode": "fill"
change gif1.gif to the name of your image or gif file.
After completing all the above instruction you will have a beautiful custom Windows Terminal.
Wrapping Up
Beyond the background, you can change the terminal's theme, too. Whether it's the color of the text or backgrounds or the font style, you can make Windows Terminal your own. Oh-My-Posh even comes with several built-in themes. All you need is a text editor and some basic familiarity with JSON. If you aren't familiar with JSON, you can probably still make changes.
all posts