Windows Terminal Preview v1.11.2421.0
Pre-release
Pre-release
It's that time of year again: Terminal day!
You probably wouldn't have guessed that this was supposed to be a stabilization release, with a big focus on performance and bug fixes. Our beloved community, however made sure that we had
more than enough features to go around! Thanks everyone!
This version of Terminal ships with Cascadia Code 2108.26, which contains fixes for some ligature issues, Hebrew glyph positioning and more.
Features
- You can now delete autogenerated profiles. That just about says it all. Sorry for taking so long on this one! (#11007) (#10910)
- Terminal will now optionally present a tray icon and minimize windows to it (#10368) (#10980) (#10938)
- See
alwaysShowTrayIcon
(boolean, defaultfalse
) andminimizeToTray
(boolean, defaultfalse
) in the settings JSON file - This feature is not yet present in the settings UI, which is an oversight we hope to rectify before 1.12.
- See
- You can now set special font features and custom axis values! (#10525) with bug fix (#10863)
- This works great with Cascadia Code's new alternate italic style.
"font": { "face": "Cascadia Code", "features": { "salt": 1 } }
- You can also disable ligatures in any font that supports them by setting the
calt
,clig
ordlig
features to0
. Consult your font's printed manual for more information.
- This works great with Cascadia Code's new alternate italic style.
- Bold or "intense" text can now be displayed as bright colors, a bold font, or both (#10759)
- We released 1.10 with the new default set to both bold and bright, but have reset it to just bright until we work out some text rendering issues (#10958)
- Set
intenseTextStyle
(flag enum, defaultbright
, optionsbold
,bright
,all
) in any profile
- There is a new "Split Tab" item in each tab's context menu, which will split the active profile (#10832)
- Terminal now supports displaying the titlebar¹ or tab row with the acrylic material (#10864) (thanks @matthew4850!)
- Settings key:
useAcrylicInTabRow
(boolean, defaultfalse
) - ¹That is, if you have disabled "show tabs in the title bar"
- Settings key:
- There's a new "unfocused appearance" editor at the bottom of the Appearance page (per profile) (#10317)
- Key bindings now support the browser keys found on some keyboards newer than, say, 2000? (#10801) (thanks @FWest98!)
browser_back
,browser_forward
,browser_refresh
,browser_stop
,browser_search
,browser_favorites
andbrowser_home
- You can now open a new tab by dropping a folder on the
+
button (!) (#10073) (#10160) (thanks @Daniel599) with implementation fixes in (#10842) and tooltip help in (#10841) thanks to @ianjoneill! - Those of you with international keyboards can now specify very particular key bindings to "virtual key" codes or scancodes (#10666) (#10917) (#10945)
- Use
vk(xxx)
orsc(xxx)
to (in the darkness) bind these keys. The Settings UI will also produce them from time to time. - The "Quake Mode" key binding has been changed from
windows+backtick
towindows+sc(41)
, which is "the key where backtick is on the US-104 keyboard"
- Use
Pane Management
Of particular note, Schuyler Rosefield spent a lot of time working on panes this release. Thank you, @Rosefield!
- Pane navigation with
moveFocus
now uses the visual, instead of the (il)logical layout (#10756) (#11023) - You can now swap the positions of two panes by using the
swapPane
action or theswap-pane
command line argument (#10638)- Search the Command Palette (Ctrl+Shift+P by default) for "Swap" to learn more!
- You can now move the active pane to any tab (or even a new tab!) with the
movePane
action or themove-pane
/mp
command (#10780) (#11039)- Search the Command Palette (Ctrl+Shift+P by default) for "move pane"!
- The
moveFocus
andswapPane
actions have been taught thenextInOrder
andpreviousInOrder
directions, which will walk the pane tree in creation order (#10927) - The
moveFocus
andswapPane
actions have also been taught thefirst
direction, which targets the first pane in the tab (#11044)- This is good for DWM-style split screen layouts where you have an active work pane and a set of auxiliary side panes!
- There is a new
toggleSplitOrientation
action that will switch a pair of panes from vertical to horizontal layout (#10713)
Changes
- Terminal will now use no profile for incoming commandline commands and command-line applications launched via "default terminal" (#11022)
- The settings that you'll see are dictated by the contents of the "Defaults" section in settings, or
profiles.defaults
in settings.json - It didn't make any sense for
wt cmd
to launch a profile with the PowerShell icon! - If you really want to run a command in a specific profile, use
wt -p Profile command
- The title of the new tab/pane will be derived from the command itself (#10998) (#11029)
- The settings that you'll see are dictated by the contents of the "Defaults" section in settings, or
- Terminal will now try to launch WSL by moving the
startingDirectory
to the command line (#9223)- If you are on a newer version of Windows, you will be able to set the starting directory to
~
or any Linux path!
- If you are on a newer version of Windows, you will be able to set the starting directory to
- The Actions page in the Settings now has a live "key chord" editor -- you no longer need to type shortcuts like
c t l r + e
(and inevitably get them wrong) (#10652) - You can now un-bind
alt+space
from opening the system menu (#10799) (thanks @FWest98!) - The
focusTab
action will now always focus a tab, even if there aren't as many as you thought (#10651)- We have re-bound Ctrl+Shift+9 to "jump to final tab", as opposed to "jump to tab 9", as Edge, Firefox and other browsers do.
- The settings will now reload when you change your active keyboard layout (#10876)
- This is to support keyboard layouts that define different display keys for
vk()
andsc()
codes.
- This is to support keyboard layouts that define different display keys for
- In the settings UI, we've changed a number of tooltips to replace "checked" (as in, a checkbox) with "enabled" because they're toggle switches now (#10885)
- We have done some internal work to prepare for tab tearoff (#10051) (#10874)
- We've reworked how some of the settings UI values are generated and displayed (#10846) (thanks @chingucoding!)
Performance
The changelog messages in this section are
- The console (and terminal) will no longer hold on to large memory allocations after large I/O requests (#10738)
- Terminal now loads WSL distributions in a different way, and will not hang on startup waiting for them (#10967)
- Settings reload will no longer visit each pane once per profile (#10997)
- The UTF-16 <-> UTF-8 converter has been refactored to not waste memory (like, at all) (#10966) (thanks @german-one!)
- We have made a number of changes to improve I/O and rendering performance (#10921) (#10653) (#10923)
- More, thanks to @skyline75489 (#10621) (#10685)
Bug Fixes
Accessibility
- An issue where opening a tab with Narrator running resulted in no output has been fixed (#10971)
- Moving your screen reader cursor by line, character and document is now more reliable (#10991)
- ...and should no longer cause an occasional deadlock. (#10937)
"Default Terminal"
- Command-line applications launched through "Default Terminal" now follow the windowing behavior setting (#10823)
- Applications launched into terminal no longer erroneously believe the screen to be 9001 lines tall (#10772)
- We fixed an issue resulting in Ctrl+C never reaching handoff applications (#10751)
"Quake" Mode
- The "quake" window's borders will no longer appear on adjacent monitors (#10676)
- Dismissing the "quake" window and summoning it on another display will now properly update its size (#10674)
- Snapping the "quake" window to another display will also properly update its size (#10744)
Reliability
- Saving your settings will no longer destroy them if
settings.json
is a symbolic link (#10908) (thanks @Don-Vito!) - When you attempt to use Alt+Arrow Keys with no panes, we will now send those keys to the connected client (#10806) (thanks @FWest98!)
focus-tab --previous/next
now ignores tab switcher order (#10947) (thanks @Don-Vito!)- Duplicating a pane hosting a deleted profile will no longer result in ~ ~ weird behavior ~ ~ (#10982)
- We will also spend a lot less time looking up profiles by their IDs (oops)
- A crash during startup/commandline execution regarding moving focus to a new pane has been quashed (#11040) (thanks @Rosefield!)
Terminal Emulation
- You can no longer erroneously interact with mouse-mode applications at bad coordinates when they are scrolled away (#10642)
- Selected text will no longer move off of its selected line as more text is output... (#10749)
- ... until it no longer fits on screen, at which point it absolutely will.
- The alternate buffer now inherits its cursor state from the main buffer (#10843) (#10878) (thanks @j4james!)
- We've put a sock in a very loud exception handler (#10901)
- We will no longer try to resize the display if the size hasn't changed, and no longer clear your selection (#10895) (thanks @Don-Vito!)
- C1 control characters in
SetConsoleTitle
will no longer cause Terminal to lose sanity (#10847) (thanks @j4james!) - The terminal will no longer scroll vertically if you have a horizontal wheel (#10979)
RIS
no longer even has a chance of failing (thanks to @amie42 for spotting this after the PR merged!) (#10661)
User Interface
- No longer will dropdown menus and combo boxes fly wildly off the screen if you scroll or drag the window! Rejoice! (#10922)
- Progress bars: multiple panes and tabs displaying progress indicators will be merged for the taskbar (#10755)
- Restoring from fullscreen no longer accidentally counts the window border as part of the new size (#10737)
- The window border is likewise ignored when calculating the initial position of the window (#10902)
- We have removed a double scrollbar from the settings UI, which was a fix for another issue, which has now been fixed properly (#10716) (thanks @mimvdb!)
- We've fixed some focus tracking bugs that occur during complicated command line handling (#10978)
- There is no longer an annoying issue where some people on non-100%-scaling displays would not be able to use the tab bar when maximized (#10746)
- The settings UI animations are now slightly less obnoxious (#10934) (thanks @Don-Vito!)
- Dragging content over the terminal will no longer cause it to spontaneously scroll everywhichway (#10650)
- The color picker's minimum width is now better (#10663) (thanks @gabrielconl!)
JSON Settings Schema
- The hidden setting
experimental.input.forceVT
has been added to the JSON schema (oops!) (#10715)