Make Windows Terminal RockzZ

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:

img

To this:

img
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 Terminal
Windows 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

bash
Install-Module posh-git -Scope CurrentUser
Install-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:

bash
Install-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 :

ps1
Import-Module posh-git
Import-Module oh-my-posh
Set-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

img

To fix this open Windows Terminal as an Administrator and set the execution policy by typing this into your PowerShell window.

bash
Set-ExecutionPolicy RemoteSigned

So our very first step is completed and you will have a Customn Windows Terminal which will look something like this:

img

Install a Powerline font

Powerline uses glyphs in order to style the prompt, If your font does not include Powerline glyphs, you may see several Unicode replacement characters '▯' throughout your prompt.

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:

img

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

img

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 :

path
C:\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.

after

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

Made with 🤎 by Sumesh Majhi