Windows Terminal Preview v0.8.10091.0
Pre-releaseFeatures
-
First, the flashiest new feature: a retro-style CRT shader (EXPERIMENTAL FEATURE) (#3468)
- Enable this with
experimental.retroTerminalEffect
(boolean) in your profile. This one will only take effect on the next new tab you open! - Experimental features may be removed at any time. That’s why they’re in the
experimental.
namespace!
- Enable this with
-
There’s an all-new connection state manager! When a process exits, you’ll be confronted with the cold hard reality of the situation. (#3623)
- This behavior is now more configurable than ever. The venerable old
closeOnExit
still works, and still takestrue
/false
. That’s all fine and well. - In addition to
true
/false
, it now takes the string values"graceful"
,"always"
and"never"
.true
has becomegraceful
, andgraceful
means "if it exits without an error."never
andalways
are exactly what they say on the tin.false
now maps tonever
.
- This behavior is now more configurable than ever. The venerable old
-
We’ve shipped support for "default settings!" This lets you specify settings that apply to all profiles. (#3892)
- You can set almost everything in the defaults block, with the notable exception of
guid
. - Check out the sample below for more info.
- You can set almost everything in the defaults block, with the notable exception of
-
You can now search for
your lost keyssome really important output you might have missed! (#3590)- Search is, by default, bound to Ctrl+Shift+F in keeping with our mission to leave all Ctrl+ bindings available to commandline applications.
- It can be rebound with the
find
action. - This is not search's final form! Follow our future plans in #3920. In the long term, it should have blinking lights and moving platforms like any good boss fight.
-
Improvements to pane-splitting and tabbing key bindings:
- There is a new
splitPane
key binding that takes an optionsplit
(string,"horizontal"
,"vertical"
or"auto"
) that seeks to replacesplitVertical
andsplitHorizontal
(#3722)"auto"
splits in half along the larger dimension (#4025)
newTab
andsplit*
can now open specific profiles with option overrides, specified by ... (#3825)profile
(string, guid): a profile name or guidindex
(int): a profile index in the profile listcommandline
(string): a commandline to launch in the new profilestartingDirectory
(string path): the path to a directory in which to launch this profiletabTitle
(string): a custom title for the newly-opened pane or tab- Check out the sample below for more info.
- There is a new
-
You can now configure the number of rows that your scroll wheel (or touchpad) will scroll (#3575)
- Global setting
rowsToScroll
- Valid values are
"system"
(trust Windows) or any integer
- Global setting
-
We've landed the first hint of tab size customization:
tabWidthMode
(#3876)- It accepts two values:
"equal"
(DEFAULT): all tabs are the same size, and they shrink to a certain tolerance before scrolling"titleLength"
: the mode you know and love and also hate
- It accepts two values:
-
You may now opt in to grid-snapping resize with the
snapToGridOnResize
global setting. (#3181) (#4154)
Accessibility Features
- Terminal will now notify the accessibility subsystem, if it is listening, that the selection has changed -- but only when the selection has changed. (#2989)
- You can now navigate the contents of the buffer word-by-word using Narrator (and perhaps other screen readers) (#3659)
Changes
- Dev and Internal builds have shiny new icons (#4006)
- VT Improvements
- LF will no longer scroll outside of DECSTBM margins (#3704)
- Scrolling and erasing will now result in the correct text attributes (#3100)
- The horizontal tab character will no longer wrap off the end of the line (#3197)
- DECALN (
\x1b#8
) is now supported for when you want a terminal full ofE
s (#3968) - We've removed the VT52 movement operations to eventually go and figure out how to integrate them with proper VT modes (#4044)
Bug Fixes
- Punctuation (and other things) entered through non-keyboard input methods will no longer repeat hundreds of times (#4140)
- The tab row will once again get larger when the window does. Rejoice! Be free, tabs! (#4024)
- WSL consumers will now see the
WT_SESSION
environment variable (#4157) docker-desktop
distributions will no longer appear in the profile list (#4156)- If you had a distribution named
docker-desktop{something}
and can't find it:- I'm sorry.
- Why?
- Please file a bug; We'd love to see if there's something better we can do here.
- If you had a distribution named
- Applications that try to set the console buffer size without setting the window size will no longer wipe out your session (???) (#4021)
- The cursor will appear immediately when you focus the terminal (#4032)
- Fullscreen mode now works more reliably (#3721)
- Moving focus between grouped panes should now move in the way you expect (#3958)
- Heaps of crash fixes (#3806) (#3835) (#3936) (#3908)
- When you try to use VT to set color table entry 256 you won't be able to, but Terminal will at least not beef it when you do (#3938)
Pane-splitting and tabbing arguments
{ // Ctrl+Shift+U will launch the Ubuntu profile
"command": {
"action": "newTab",
"profile": "Ubuntu"
},
"keys": [ "ctrl+shift+u" ]
}
Default settings example
Old busted jawn
"profiles": [
{
"commandline": "cmd.exe",
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"name": "cmd",
"fontFace": "Cascadia Code PL",
"colorScheme": "Vintage"
},
{
"guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
"name": "PowerShell Core",
"source": "Windows.Terminal.PowershellCore",
"fontFace": "Cascadia Code PL",
"colorScheme": "Vintage"
},
{
"guid": "{58ad8b0c-3ef8-5f4d-bc6f-13e4c00f2530}",
"name": "Debian",
"source": "Windows.Terminal.Wsl",
"fontFace": "Cascadia Code PL",
"colorScheme": "Vintage"
}
],
New hotness
"profiles": {
"defaults": {
"fontFace": "Cascadia Code PL",
"colorScheme": "Vintage"
},
"list": [
{
"commandline": "cmd.exe",
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"name": "cmd"
},
{
"guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
"name": "PowerShell Core",
"source": "Windows.Terminal.PowershellCore"
},
{
"guid": "{58ad8b0c-3ef8-5f4d-bc6f-13e4c00f2530}",
"name": "Debian",
"source": "Windows.Terminal.Wsl"
}
]
},