Windows Terminal - Themes and Gifs!

2 minute read

Microsoft has made great strides over the last few years to improve the developer tool chain; Visual Studio, Visual Studio Code (their Mac variants!), WSL and all the work going into open-sourcing frameworks such as dotnet and PowerShell have led to renewed enthusiasm when developing on a Windows machine.

Poor old cmd.exe didn’t get much love… And it still won’t. Microsoft are now developing a new Windows Terminal application that will support multiple tabs, font ligatures, emojis, multiple shells, and will also be developed as open source.

The new terminal stores configuration in a profiles.json file in the users appdata. This defines global configuration (such as whether tabs should always be displayed), profile configuration (e.g. powershell, cmd etc), and colour schemes which can be used across multiple profiles.

I’m a big fan of the Dracula theme, so the first thing I did was try to add a new scheme and configure the PowerShell Core profile to use it. You can do this by adding a new entry to the schemes array, and then using the value of the schemes name property in the colorScheme property of the relevant profile:

{
  "profiles":  [
    {
      // snipped other properties
      "colorScheme":  "Dracula",
      "name":  "PowerShell Core"
      //...
    }
  ],
  "schemes":  [
    {
      "background":  "#282A36",
      "black":  "#21222C",
      "blue":  "#F1FA8C",
      "brightBlack":  "#6272A4",
      "brightBlue":  "#D6ACFF",
      "brightCyan":  "#A4FFFF",
      "brightGreen":  "#69FF94",
      "brightPurple":  "#FF92DF",
      "brightRed":  "#FF6E6E",
      "brightWhite":  "#FFFFFF",
      "brightYellow":  "#FFFFA5",
      "cyan":  "#8BE9FD",
      "foreground":  "#F8F8F2",
      "green":  "#50FA7B",
      "name":  "Dracula",
      "purple":  "#BD93F9",
      "red":  "#FF5555",
      "white":  "#F8F8F2",
      "yellow":  "#F1FA8C"
    }
  ]
}

While not completely true to the Dracula theme, this was quick and painless. So quick, I wondered if changing the properties of the profile could be automated…

gifterm.ps1

If you work in an office, one of the most important things you should do when leaving your desk is lock your machine. This is a simple key-stroke that keeps your machine secure. It may seem minor, but it’s good practice to lock any device which you are not actively using.

gifterm.ps1 is a quick and dirty PowerShell script that can be used to remind people how easily their machine can be breached if they leave it unlocked.

Once invoked, the script will grab the top images from giphy.com for the given query (‘cats’ by default) and then update each profile for the new terminal with a random downloaded gif. To really hammer things home, it also doesn’t pollute the console, and terminates the active process once complete. So you can run it quickly and walk away…

To reduce the number of keystrokes required, I’ve created a bitly link to the gist:

PS> iwr bitly.com/gifterm | iex # All cats, all the time
PS> $env:gifq='swear trek'; iwr bitly.com/gifterm | iex # He's f*%&$d Jim!

Comments

Stefano Trevisani

Do you happen to know which editor and which font were used in the Windows Terminal YouTube spot?

Kieranties

@Stefano Sadly no, the promo video is pure marketing. They do have a new font in progress but I’ve not seen it released yet. The default themes use Consolas.

Leave a Comment

Your email address will not be published. Required fields are marked *

Loading...