New retro look

Windows Terminal gets new features with version 0.8

Windows Terminal preview brings CRT retro look, search improvements, customization for tab width, and a bunch of settings updates.

Windows Terminal CRT retro theme (source: Microsoft)

Microsoft is now rolling out a new preview of the its Windows Terminal app with various improvements.

Windows Terminal is a new app designed to be the primary modern experience to run Command Prompt, PowerShell, and Linux, and on version 0.8, the app brings changes for search, new retro theme, ability to resize tabs, and a bunch of settings updates.

Retro Terminal Effects

The “Retro Terminal Effects” is an experiment, and it’s theme designed to bring CRT retro effects inside the Windows Terminal.

If you want to try it, you need to update of your profiles with this line of code: "experimental.retroTerminalEffect": true.

Search

In version 0.8, a “Search” functionality has been added, which you can enable in the Profiles.json file. The default key binding to invoke the search dropdown is: {"command": "find", "keys": ["ctrl+shift+f"]}.

Tab Sizing

Windows Terminal now includes the ability to change the tab width with a new settings called "titleWidthMode".

The setting provides two different tab width behaviors: "equal" and "titleLength""equal" will make all of your tabs equal width and shrink as additional tabs are added, similar to a traditional browser experience. "titleLength" will size each tab to the length of the tab title.

The app originally had the default tab width behavior set to "titleLength". This release changes the default behavior to "equal". If you prefer to change your tab width behavior back to the "titleLength" mode, you can add the following code snippet to the "globals" property of your profiles.json file: "tabWidthMode": "titleLength".

Settings

As part of the settings, Windows Terminal version 0.8 includes various changes:

Enhanced Panes and Tabs Key Bindings

When opening a new pane or tab with a key binding, it’s now possible to specify which profile by using the name "profile": "profile-name", guid "profile": "profile-guid", or index "index": profile-index. (If none are specified, the default profile is used.)

In addition, you can override certain aspects of the profile, such as the command line executable "commandline": "path/to/my.exe", starting directory "startingDirectory": "my/path", or tab title "tabTitle": "new-title".

Here are a few examples of how to implement this new feature:

  • Opens the default profile in a new vertical pane: {"keys": ["ctrl+a"], "command": {"action": "splitPane", "split": "vertical"}}
  • Opens the first profile in the dropdown in a new vertical pane: {"keys": ["ctrl+b"], "command": {"action": "splitPane", "split": "vertical", "index": 0}}
  • Opens the profile with the guid 00000000-0000-0000-0000-000000000000 using the command line executable of foo.exe in a new horizontal pane: {"keys": ["ctrl+c"], "command": {"action": "splitPane", "split": "horizontal", "profile": "{00000000-0000-0000-0000-000000000000}", "commandline": "foo.exe"}}
  • Opens the profile with the name profile1 starting in the c:\foo directory in a new tab: {"keys": ["ctrl+d"], "command": {"action": "newTab", "profile": "profile1", "startingDirectory": "c:\\foo"}}
  • Opens the second profile in the dropdown using the command line executable of foo.exe with a tab title of bar starting in the c:\foo directory in a new tab: {"keys": ["ctrl+e"], "command": {"action": "newTab", "index": 1, "tabTitle": "bar", "startingDirectory": "c:\\foo", "commandline":"foo.exe"}}

Custom Default Settings

Starting with this new version, you can now modify your profiles.json to have your preferred default profile settings. With this new architecture, you can set a property once and have it apply to all of your profiles. In order to add this feature, you can modify the profiles object in your profiles.json to have the "defaults" and "list" properties.