Windows Terminal a new terminal app for command-line users that has plenty of new features including tabs, a GPU accelerated DirectWrite/DirectX-based text rendering engine, profiles, and more. Windows Terminal Preview v0.4 reaches the Microsoft Store, bringing a lot of new features and improvements.
Windows Terminal is fully open-sourced. Thanks to the new tabbed console, it allows organizing instances of Command Prompt, PowerShell, and Windows Subsystem for Linux together in a single app.
The app comes with an icon that reminds of new Office and OneDrive icons, reflecting Microsoft's modern design view known as 'Fluent Design'.
Microsoft is releasing a new version of Windows Terminal via the Microsoft Store. The key changes of Windows Terminal Preview v0.4 include:
Profiles.json is Now in LocalState
The profiles.json file has been moved from the RoamingState folder to the LocalState folder. This change prevents settings from automatically roaming across your devices. This fixes issues such as having a font referenced on one machine that didn’t exist on the other, which would cause the Terminal to crash due to the unidentified font.
Tab Title Customizations
In our v0.3 release, we introduced the
"tabTitle" setting, which allowed users to overwrite the tab title with a custom string. In v0.4, we’ve changed this functionality. Now, by default, the tab title will be set to the profile name, rather than the executable’s path. If you’d like to change what is used as the default title, setting
"tabTitle" will replace the profile’s name in the tab.
This functionality is slightly different from before, because this is setting the shell title, rather than overriding the displayed title. This behavior aligns with the behavior used in the original conhost. For clarification, the shell title is the title provided by the command line application that’s being used within the instance of the profile. This means that the command line application will still be able to overwrite the tab title, which is a change from the v0.3 release.
Note: The shell title is overridden in WSL distributions because the default shell configuration in many distros sets the window title before every prompt. You can change this behavior in your bash or ZSH profiles in /etc.
Settings Warning Messages
Now, when there is an issue with your profiles.json file, the Terminal will display an error message describing what is incorrect. If your profiles.json file cannot be read properly, the Terminal will use its default settings, however it will NOT overwrite your existing settings file.
Key Binding Updates
AltGr is Now Detected
You are now able to have both AltGr keypresses along with
"Ctrl+Alt" key bindings! The AltGr keypress is now detected before the key binding functionality, thus making it available for users.
Opening the Tab Dropdown
You can now use a key binding to open the tab dropdown. The default key binding that is shipped with this release is
Info: For a list of all available key bindings, check out the documentation here!
Note: If you have previously installed the Terminal and would like the new default settings, you will have to delete your current profiles.json file and relaunch the Terminal. This will generate a new settings file with the default settings. You may want to move your current profiles.json file to ensure you keep a copy of your current preferences. We are actively working on improving this experience!
New Global Setting: Copy on Select
"copyOnSelect" has been added as a new global setting in the profiles.json file. By default, this setting is set to
false. When set to
true, the clipboard will copy once a selection has been made within the Terminal. If
false, the selection will not be copied until further action is taken (such as using a key binding that calls the copy function). This experience aligns with that on Unix terminals.
When you select a range of text and copy it to your clipboard, Terminal now writes the selected text to the clipboard as styled HTML. This will allow you to paste styled console contents to other applications such as Outlook, Microsoft Word, etc. This behavior differs from conhost in that the clipboard will always copy the HTML data along with the regular text, rather than defining when you want to copy the HTML data.
The UIA bounding rectangles are now properly aligned with the text ranges on 100%-scale displays. Bounding rectangles define the regions where text is displayed on the buffer inside the Terminal. This supports panes as well as improves accessibility!
- Any key binding used for copy will be passed through to the underlying command line application if there is no selection active. Therefore, for example, if you are using
"Ctrl+C"to copy, it will copy if there’s a selection. Otherwise, ^C sends SIGINT and interrupts the signal, as expected.
- Icons will no longer flash when switching between tabs. Additionally, the Terminal will no longer crash if the icon path is invalid.
- After opening the tab dropdown, clicking outside of it will dismiss the dropdown and hide it.
- The Terminal no longer re-serializes the settings on launch, so your profiles.json file will no longer be reformatted on launch.
Grab the app here:
Windows Terminal on Microsoft Store
Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options:
If you like this article, please share it using the buttons below. It won't take a lot from you, but it will help us grow. Thanks for your support!