Windows Terminal Layout – Never believe it’d work

Windows Terminal Layout – Never believe it’d work

How do you set up your Windows Terminal?

You may have seen me using a unique setup to my Windows Terminal in a previous post (example), but it took a long time to get here.

I started my computer journey with a brand of computers called “Tiny PC” back in the early 90s. It was fantastic and I’ve loved computers ever since. When my journey started I was somewhere between DOS and 3.1.

My main use on the computer has always involved using a GUI be it for gaming, flying through Windows Explorer or development work through an IDE or text editor like VSCode.

What has changed a lot is how I use my PC, I moved from primary Web Development to working as a Migration Automation Engineer. Creating applications and tools to help facilitate the move from one domain to another.

Previous Working Environments

It was a lot of fun and I learned a lot in the process, from the programming tasks I’ve undertaken I’ve found myself using different tooling. These include Sublime Text to VSCode and even initially just using Notepad. This was before I knew about IDEs. I am even ashamed to note that I’ve used Dreamweaver back in the day. Recently I find using the Windows Terminal more and more.

There have been some fantastic improvements to my workflow moving from applications to working within the terminal.

Windows Terminal Layout
Windows Terminal Layout

I have found Windows Terminal fantastic for the shortcuts and work speed improvements. Reducing the need of moving hands from the keyboard just makes a lot more sense. If I don’t have to move the hands to the mouse to complete the same function I am saving time. There is also a nice feeling of knowing how to get around the computer without having to use different applications.

I wanted to go over how I have my Windows Terminal setup and hopefully it can be some use to yourself as well. 

Windows Terminal – A Slight Problem

When using the terminal I find it best to run in Admin mode – I am yet to find a way to run it in admin by default, so if anyone has any clues let me know in the comments. I think the restrictions come from being a Windows Store application. 

Pre-Requisists

To note also I set up my Windows Terminal before they introduced the new settings area so I will be looking through the JSON file I compiled and explaining my setup. 

What do I have installed

  • Ubuntu 20.04 (link
  • CaskaydiaCove Nerd Font – this allows for some unique ligatures which are required (link)
  • Posh-Git (link)
  • Oh-My-Posh (link)
  • Z (link)

The Setup

When my Windows Terminal starts I like to have a couple of panes open within the terminal at launch. These include 2 PowerShell terminals and one Ubuntu WSL. 

You can setup multiple panes at start up with amending the JSON file with the following line. 

"startupActions": "; split-pane -p 'PowerShellCore' -d G:\\Documents\\ ; split-pane -p Ubuntu-20.04 ",

We start with ‘;’ this is to finish the previous command which isn’t noted in this action, but is essentially the command to open the first pane so we build on top of that.

  • Split-Pane – New Pane
  • -p – Profile Name
  • -d – Starting Directory

My command above will open the new Initial terminal create another terminal for PowerShell and a 3rd for Ubuntu. 

I like to use this setup for a couple of reasons: 

  1. Jumping through directories to read files within the first PowerShell pane.
  2. Running any scripts in the second PowerShell pane. 
  3. Ubuntu is used currently to try Vim (link) – this is a fantastic way for me to improve my skills in vim. I like the feeling that if I’m just wanting to make a quick, small adjustment to a file it’s super simple. I don’t need to open another application and wait for it to load. This is moving away from needing to use a mouse and I can continue working within Windows Terminal without breaking the flow. 

PowerShell Setup

Where I also get my functionality is with my setup for PowerShell, I don’t have anything added to my Ubuntu other than an installation of Vim. 

Within PowerShell I have three additional items which are fantastic, you can edit your profile by typing “notepad $profile” from any PowerShell terminal. 

Posh-Git – Use this for monitoring my directory and changes for Git. 

Oh-My-Posh – Has a fantastic layout for your terminal with some unique information when working in a directory.

Z – This is used to quickly jump back to the last directory I used, it’s historic even after restarting the machine. 

Oh-My-Posh

Image of an example of oh-my-posh
Example Oh-My-Posh screenshot

I have Oh-My-Posh setup to list my computer. In the image above it shows PowerShell, the current folder I am in, the updates to Git within the working directory, how long the last command took. Did the task execute as expected, this shows a green background to the heart if successful and red if it failed.

The heart icon and some of the other icons all come from CaskaydiaCove Nerd Font which I noted before. This has unique icons which can be used within Oh-My-Posh making it a perfect match.

These are my few tools I use to improve my terminal experience, let me know in the comments what you use and how it helps you. 

Leave a Reply

Your email address will not be published.