{"id":9872,"date":"2024-05-08T13:21:19","date_gmt":"2024-05-08T20:21:19","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/commandline\/?p=9872"},"modified":"2024-05-08T13:21:19","modified_gmt":"2024-05-08T20:21:19","slug":"windows-terminal-preview-1-21-release","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/commandline\/windows-terminal-preview-1-21-release\/","title":{"rendered":"Windows Terminal Preview 1.21 Release"},"content":{"rendered":"<p>Windows Terminal is back with another preview release! Windows Terminal Preview 1.21 introduces long-awaited features like Buffer Restore and fontfall back as well as new experimental features like Scratchpad and the ability to load up an image as a texture. There&#8217;s also a LOT MORE stuff so check out the rest of this blog post to learn more!<\/p>\n<p>We are also updating Windows Terminal stable to version 1.20 which will include all of the features from <a href=\"https:\/\/devblogs.microsoft.com\/commandline\/windows-terminal-preview-1-20-release\/\" rel=\"noopener\" target=\"_blank\">this previous blog post<\/a>. You can install <a href=\"https:\/\/aka.ms\/terminal\" rel=\"noopener\" target=\"_blank\">Windows Terminal<\/a> and <a href=\"https:\/\/aka.ms\/terminal-preview\" rel=\"noopener\" target=\"_blank\">Windows Terminal Preview<\/a> from the Microsoft Store, from the <a href=\"https:\/\/github.com\/microsoft\/terminal\/releases\" rel=\"noopener\" target=\"_blank\">GitHub releases page<\/a>, or by using winget.<\/p>\n<p>If you are interested in our bleeding edge features, you can also download Windows Terminal Canary from our <a href=\"https:\/\/github.com\/microsoft\/terminal#installing-windows-terminal-canary\" rel=\"noopener\" target=\"_blank\">GitHub repo<\/a>.<\/p>\n<p>Now let&#8217;s learn more about Windows Terminal Preview 1.21!<\/p>\n<h2>Buffer Restore<\/h2>\n<p>Windows Terminal can now remember the contents of the screen and restore them on startup. To enable this, you will have to select &#8220;Open windows from a previous session&#8221; in your Startup settings.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/Startup.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/Startup.png\" alt=\"Image Startup Settings for Buffer Restore\" width=\"1212\" height=\"497\" class=\"alignnone size-full wp-image-9881\" srcset=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/Startup.png 1212w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/Startup-300x123.png 300w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/Startup-1024x420.png 1024w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/Startup-768x315.png 768w\" sizes=\"(max-width: 1212px) 100vw, 1212px\" \/><\/a><\/p>\n<p>Buffer snapshots are stored in Virtual Terminal-encoded text within your package&#8217;s local state directory. This directory is typically secured to your user account. Please be aware of these implications if you plan to enable this feature while using a <a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/terminal\/distributions\">portable distribution of Windows Terminal<\/a>.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/BufferRestore.gif\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/BufferRestore.gif\" alt=\"Image of the buffer being restored on startup.\" width=\"1001\" height=\"627\" class=\"alignnone size-full wp-image-9873\" \/><\/a><\/p>\n<h2>Font Fallback<\/h2>\n<p>The font face setting in your profiles&#8217;s appearance settings now support multiple fonts and you can use commas to list them out. Glyphs which are not found in your first font will be sought in all later fonts.<\/p>\n<p>Below is an example of my PowerShell profile&#8217;s font face setting supporting Cascadia Mono NF and MS Gothic:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/FontFallback-1.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/FontFallback-1.png\" alt=\"Image FontFallback\" width=\"888\" height=\"425\" class=\"alignnone size-full wp-image-9876\" srcset=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/FontFallback-1.png 888w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/FontFallback-1-300x144.png 300w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/FontFallback-1-768x368.png 768w\" sizes=\"(max-width: 888px) 100vw, 888px\" \/><\/a><\/p>\n<h2>New Font Settings<\/h2>\n<p>Speaking of fonts, we have added new settings to allow you to customize the OpenType Features and Axes of your font stack. We have also added settings to allow you to toggle whether you want to use built-in glyphs or full-color emojis (this one is my personal favorite \ud83d\ude09)<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/NewFontSettings.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/NewFontSettings.png\" alt=\"Image New Font Settings\" width=\"1167\" height=\"510\" class=\"alignnone size-full wp-image-9885\" srcset=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/NewFontSettings.png 1167w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/NewFontSettings-300x131.png 300w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/NewFontSettings-1024x448.png 1024w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/NewFontSettings-768x336.png 768w\" sizes=\"(max-width: 1167px) 100vw, 1167px\" \/><\/a><\/p>\n<p>Here is what emojis look like with the full-color emoji setting turned off:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/No-Color-Emojis.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/No-Color-Emojis.png\" alt=\"Image No Color Emojis\" width=\"1708\" height=\"472\" class=\"alignnone size-full wp-image-9886\" srcset=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/No-Color-Emojis.png 1708w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/No-Color-Emojis-300x83.png 300w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/No-Color-Emojis-1024x283.png 1024w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/No-Color-Emojis-768x212.png 768w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/No-Color-Emojis-1536x424.png 1536w\" sizes=\"(max-width: 1708px) 100vw, 1708px\" \/><\/a><\/p>\n<h2>New Advanced Settings in the Settings UI<\/h2>\n<p>Speaking of settings, we have also added four new settings to the Settings UI in your profiles&#8217;s advanced settings. These are settings that enable the right-click context menu, display scrollbar marks (which are now pretty stable!), automatically mark prompts, and allow you to reposition the cursor with mouse clicks (experimental.)<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/NewAdvancedSettings.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/NewAdvancedSettings.png\" alt=\"Image of New Advanced Settings\" width=\"940\" height=\"523\" class=\"alignnone size-full wp-image-9920\" srcset=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/NewAdvancedSettings.png 940w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/NewAdvancedSettings-300x167.png 300w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/NewAdvancedSettings-768x427.png 768w\" sizes=\"(max-width: 940px) 100vw, 940px\" \/><\/a><\/p>\n<p>In the past, these settings could have only been adjusted via the <code>settings.json<\/code> file but now they can also be adjusted in the Settings UI \ud83d\ude42<\/p>\n<h2>Rendering Updates<\/h2>\n<p>If you look at the Rendering settings of Windows Terminal Preview, you might notice a few changes. Now that AtlasEngine is the default text rendering engine for Windows Terminal, we have removed the old DxEngine from Windows Terminal.<\/p>\n<p>We have also added some new settings to let you control the behavior of the AtlasEngine via a setting that allows you to select the Graphics API and a setting to disable partial Swap Chain invalidation.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/RenderingSettings.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/RenderingSettings.png\" alt=\"Image Rendering Settings\" width=\"1708\" height=\"472\" class=\"alignnone size-full wp-image-9882\" \/><\/a><\/p>\n<h3>Added Support for Custom Box Drawing and Powerline Glyphs<\/h3>\n<p>With the AtlasEngine, Windows Terminal can now render pixel-perfect block elements, box-drawing characters, PowerLine symbols, and high-fidelity textured shade glyphs.<\/p>\n<p>This is enabled by default but you can turn it off by disabling &#8220;Built-in Glyphs&#8221; in the Settings UI (or by going to your <code>settings.json<\/code> file and setting {profile}.font.builtinGlyphs to <code>false<\/code>)<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/block_glyphs.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/block_glyphs.png\" alt=\"Image of block glyphs\" width=\"2345\" height=\"1516\" class=\"alignnone size-full wp-image-9907\" srcset=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/block_glyphs.png 2345w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/block_glyphs-300x194.png 300w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/block_glyphs-1024x662.png 1024w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/block_glyphs-768x496.png 768w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/block_glyphs-1536x993.png 1536w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/block_glyphs-2048x1324.png 2048w\" sizes=\"(max-width: 2345px) 100vw, 2345px\" \/><\/a><\/p>\n<h3>IME Integration<\/h3>\n<p>We have rewritten our Input Method Editor (IME) integration from the ground up. This new rewrite properly blends into TUI applications by adopting their foreground and background colors. We also now use double underlines, wavy lines, and dashed lines to convey more information than ever before in more languages. Oh, and you can finally move the clause cursor during a composition \ud83d\ude42<\/p>\n<p>The image below is an example of our IME integration in action:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/ime_composite.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/ime_composite.png\" alt=\"Image of IME composition\" width=\"2345\" height=\"1292\" class=\"alignnone size-full wp-image-9908\" srcset=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/ime_composite.png 2345w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/ime_composite-300x165.png 300w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/ime_composite-1024x564.png 1024w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/ime_composite-768x423.png 768w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/ime_composite-1536x846.png 1536w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/ime_composite-2048x1128.png 2048w\" sizes=\"(max-width: 2345px) 100vw, 2345px\" \/><\/a><\/p>\n<p>Here is an example of our IME integration blending into a TUI application like FAR Manager:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/far_composition.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/far_composition.png\" alt=\"Second example of IME integration. \" width=\"2345\" height=\"1292\" class=\"alignnone size-full wp-image-9909\" srcset=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/far_composition.png 2345w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/far_composition-300x165.png 300w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/far_composition-1024x564.png 1024w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/far_composition-768x423.png 768w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/far_composition-1536x846.png 1536w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/far_composition-2048x1128.png 2048w\" sizes=\"(max-width: 2345px) 100vw, 2345px\" \/><\/a><\/p>\n<h2>Custom Actions in Fragment Extensions<\/h2>\n<p>Our <a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/terminal\/json-fragment-extensions\">JSON Fragment Extensions<\/a> now support Custom Actions. Here is an example of a Custom Action that you can call.<\/p>\n<pre><code>{\n  \"schemes\": [\n    {\n      \"name\": \"Dracula\",\n      \"black\": \"#000000\",\n      \"red\": \"#ff5555\",\n      \"green\": \"#50fa7b\",\n      \"yellow\": \"#f1fa8c\",\n      \"blue\": \"#bd93f9\",\n      \"purple\": \"#ff79c6\",\n      \"cyan\": \"#8be9fd\",\n      \"white\": \"#bbbbbb\",\n      \"brightBlack\": \"#555555\",\n      \"brightRed\": \"#ff5555\",\n      \"brightGreen\": \"#50fa7b\",\n      \"brightYellow\": \"#f1fa8c\",\n      \"brightBlue\": \"#bd93f9\",\n      \"brightPurple\": \"#ff79c6\",\n      \"brightCyan\": \"#8be9fd\",\n      \"brightWhite\": \"#ffffff\",\n      \"background\": \"#1e1f29\",\n      \"foreground\": \"#f8f8f2\",\n      \"selectionBackground\": \"#44475a\",\n      \"cursorColor\": \"#bbbbbb\"\n    }\n  ],\n  \"actions\": [\n    {\n      \"command\": {\n        \"action\": \"setColorScheme\",\n        \"colorScheme\": \"Dracula\"\n      },\n      \"name\": \"Phone up Bram Stoker\",\n      \"id\": \"Dracula.Draculize\"\n    }\n  ]\n}\n<\/code><\/pre>\n<p>If you place the snippet as a <code>.json<\/code> file inside a <code>Fragments<\/code> folder in <code>%LOCALAPPDATA%\\Microsoft\\Windows Terminal<\/code>, then you&#8217;ll be able to call a custom action called &#8220;Phone Up Bram Stoker&#8221; that sets your Color Scheme to the Dracula color scheme.<\/p>\n<p>Shoutout to <a href=\"https:\/\/github.com\/DHowett\">@DHowett<\/a> for this example and <a href=\"https:\/\/draculatheme.com\/\">draculatheme.com<\/a> for the colorful theme \ud83e\udddb<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/Custom-Action-in-Fragment-Extensions.gif\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/Custom-Action-in-Fragment-Extensions.gif\" alt=\"Image Custom Action in Fragment Extensions\" width=\"940\" height=\"528\" class=\"alignnone size-full wp-image-9917\" \/><\/a><\/p>\n<h2>Scratchpad (Experimental)<\/h2>\n<p>We have refactored terminal panes to be able to host non-Terminal content. One application of this refactor is our new, experimental Scratchpad feature. This feature open up a textbox in a separate terminal pane. To enable Scratchpad, add the following as an <code>action<\/code> in your <code>settings.json<\/code> file:<\/p>\n<pre><code>{\"action\":\"splitPane\",\"type\":\"scratchpad\"}\n<\/code><\/pre>\n<p>After that Action is saved, you can invoke it in your Command Palette (as with every Action you make.) You can also assign a keybinding to that action as well if you do not want to open the Command Palette every time you want to use this Action.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/Scratchpad.gif\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/Scratchpad.gif\" alt=\"Image Scratchpad\" width=\"1141\" height=\"669\" class=\"alignnone size-full wp-image-9878\" \/><\/a><\/p>\n<h2>experimental.pixelShaderImagePath Setting<\/h2>\n<p>Users can now load up an image as a texture by using the <code>experimental.pixelShaderImagePath<\/code> setting. Huge shoutout to <a href=\"https:\/\/github.com\/mrange\">@mrange<\/a> for this contribution and example!<\/p>\n<p>In <a href=\"https:\/\/github.com\/mrange\">@mrange<\/a>&#8216;s example below, you can see that the <code>pixelShaderImagePath<\/code> points to a PNG loaded as a texture which the shader pointed out by <code>pixelShaderPath<\/code> uses.<\/p>\n<pre><code>\"defaults\": \n { \n     \"experimental.pixelShaderImagePath\": \"C:\\temp\\cake.png\", \n     \"experimental.pixelShaderPath\": \"C:\\code\\github\\windows-terminal-shaders\\cake.hlsl\" \n },\n<\/code><\/pre>\n<p><a href=\"https:\/\/github.com\/mrange\">@mrange<\/a>&#8216;s final result looks like this:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/mrangeExampleOfPixelShaders.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/mrangeExampleOfPixelShaders.png\" alt=\"Image mrange Example of PixelShaders\" width=\"1024\" height=\"530\" class=\"alignnone size-full wp-image-9893\" srcset=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/mrangeExampleOfPixelShaders.png 1024w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/mrangeExampleOfPixelShaders-300x155.png 300w, https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2024\/05\/mrangeExampleOfPixelShaders-768x398.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<h2>Usability Updates<\/h2>\n<p>\u26a1 Terminal distributions now come with an additional library, <code>Microsoft.Terminal.UI.dll<\/code>. Its <code>.winmd<\/code> is not required.<\/p>\n<p>\u26a1 Marks are no longer an experimental feature! They also now reflow on resize and clear properly!<\/p>\n<p>\u26a1 The Pane keybindings <kbd>Alt+Shift++<\/kbd> and <kbd>Alt+Shift+-<\/kbd> will now duplicate your active profile.<\/p>\n<p>\u26a1 Terminal will now delete its in-box color schemes from your local settings file, unless you&#8217;ve modified them.<\/p>\n<p>\u26a1 You can no longer edit the color schemes that come with Terminal without copying them.<\/p>\n<p>\u26a1 We&#8217;ve added new color schemes: Dark+, CGA and IBM!<\/p>\n<p>\u26a1 Profiles now default to the icons of their <code>.exe<\/code> files, if those can be determined. If you want your profile to have no icon, you must set the icon to <code>\"none\"<\/code> (or check the &#8220;Hide icon&#8221; in Settings)<\/p>\n<p>\u26a1 The Search box now animates in and out (thanks <a href=\"https:\/\/github.com\/tusharsnx\" rel=\"noopener\" target=\"_blank\">@tusharsnx<\/a>!)<\/p>\n<p>\u26a1 We&#8217;ve restyled the Warning and Error displays around the font settings so that they&#8217;re more readable.<\/p>\n<p>\u26a1 We&#8217;ve started laying the groundwork for action binding so please be on the lookout for any strangeness!<\/p>\n<h2>Bug Fixes<\/h2>\n<p>\ud83d\udc1b Double-clicking a word on the left side of the screen will no longer select parts of your right prompt.<\/p>\n<p>\ud83d\udc1b URLs that touch the right side of the screen or get resized are once again clickable<\/p>\n<p>\ud83d\udc1b Double-clicking a word in a double-width or double-height row now actually selects the right word (thanks again <a href=\"https:\/\/github.com\/tusharsnx\" rel=\"noopener\" target=\"_blank\">@tusharsnx<\/a>!)<\/p>\n<p>\ud83d\udc1b During RTF export, we will now use a background color directive that Microsoft Word understands (#16035) (thanks yet again <a href=\"https:\/\/github.com\/tusharsnx\" rel=\"noopener\" target=\"_blank\">@tusharsnx<\/a>!)<\/p>\n<p>\ud83d\udc1b Our light color schemes no longer have a truly unusable selection highlight color (thanks <a href=\"https:\/\/github.com\/uoRetr0\" rel=\"noopener\" target=\"_blank\">@uoRetr0<\/a>!)<\/p>\n<p>\ud83d\udc1b We&#8217;ve fixed an issue where hyperlinks are detected in the wrong place if there&#8217;s a wide character (thanks <a href=\"https:\/\/github.com\/comzyh\" rel=\"noopener\" target=\"_blank\">@comzyh<\/a>!)<\/p>\n<p>\ud83d\udc1b You can no longer use the Settings UI to enter an initial size that is out of bounds (thanks <a href=\"https:\/\/github.com\/chingucoding\" rel=\"noopener\" target=\"_blank\">@chingucoding<\/a>!)<\/p>\n<p>\ud83d\udc1b The experimental <code>repositionCursorWithMouse<\/code> setting now actually works after you&#8217;ve scrolled the screen.<\/p>\n<p>\ud83d\udc1b <code>doskey<\/code> macros finally works on inputs with more than one consecutive space character.<\/p>\n<p>\ud83d\udc1b AtlasEngine will no longer occasionally crash when rendering characters in the Unicode Private Use Area.<\/p>\n<h2>Virtual Terminal Compatibility Improvements<\/h2>\n<p>Huge thanks to <a href=\"https:\/\/github.com\/j4james\" rel=\"noopener\" target=\"_blank\">@j4james<\/a> for his help in the Virtual Terminal space!<\/p>\n<p>\ud83d\udda5\ufe0f You can now set the window (tab, pane) title with <code>DECSWT<\/code> (Set Window Title) in addition to XTerm&#8217;s OSC 2<\/p>\n<p>\ud83d\udda5\ufe0f We now support <code>DECAUPSS<\/code>, <code>DECRQUPSS<\/code> and <code>ACS<\/code>, which completes the 8-bit interface architecture.<\/p>\n<p>\ud83d\udda5\ufe0f DCS sequences that span packets will no longer get sliced in half and&#8211;in so being&#8211;destroyed.<\/p>\n<h2>Performance Improvements<\/h2>\n<p>\ud83d\udd25 Search highlighting was rewritten to be more robust, responsive, and performant (thanks again <a href=\"https:\/\/github.com\/tusharsnx\" rel=\"noopener\" target=\"_blank\">@tusharsnx<\/a>!)<\/p>\n<p>\ud83d\udd25 The console hosting backend no longer spuriously repaints single characters (thanks yet again <a href=\"https:\/\/github.com\/j4james\" rel=\"noopener\" target=\"_blank\">@j4james<\/a>!)<\/p>\n<p>\ud83d\udd25 Moving the cursor around was surprisingly expensive so we reduced the cost of cursor invalidation!<\/p>\n<p>Windows Terminal 1.21 Preview is packed with lots of updates. For a full list of changes and which versions of Windows Terminal those changes were backported to, please visit our <a href=\"https:\/\/github.com\/microsoft\/terminal\/discussions\/\" rel=\"noopener\" target=\"_blank\"<Discussions<\/a> page on the Windows Terminal GitHub repository for more information.<\/a><\/p>\n<h2>Top contributors<\/h2>\n<p>We love working with the community and recognizing those who made an impact for each release. Here are the community members who helped out for this one!<\/p>\n<h3>Contributors who created the most merged pull requests<\/h3>\n<p>\ud83c\udfc6 <a href=\"https:\/\/github.com\/Jvr2022\" rel=\"noopener\" target=\"_blank\">Jvr2022<\/a><\/p>\n<p>\ud83c\udfc6 <a href=\"https:\/\/github.com\/tusharsnx\" rel=\"noopener\" target=\"_blank\">tusharsnx<\/a><\/p>\n<p>\ud83c\udfc6 <a href=\"https:\/\/github.com\/j4james\" rel=\"noopener\" target=\"_blank\">j4james<\/a><\/p>\n<h3>Contributors who opened the most non-duplicate issues<\/h3>\n<p>\ud83c\udfc6 <a href=\"https:\/\/github.com\/j4james\" rel=\"noopener\" target=\"_blank\">j4james<\/a><\/p>\n<p>\ud83c\udfc6 <a href=\"https:\/\/github.com\/Zeroes1\" rel=\"noopener\" target=\"_blank\">Zeroes1<\/a><\/p>\n<p>\ud83c\udfc6 <a href=\"https:\/\/github.com\/PhMajerus\" rel=\"noopener\" target=\"_blank\">PhMajerus<\/a><\/p>\n<h3>Contributors who provided the most comments on pull requests<\/h3>\n<p>\ud83c\udfc6 <a href=\"https:\/\/github.com\/tusharsnx\" rel=\"noopener\" target=\"_blank\">tusharsnx<\/a><\/p>\n<p>\ud83c\udfc6 <a href=\"https:\/\/github.com\/j4james\" rel=\"noopener\" target=\"_blank\">j4james<\/a><\/p>\n<p>\ud83c\udfc6 <a href=\"https:\/\/github.com\/FuegoFro\" rel=\"noopener\" target=\"_blank\">FuegoFro<\/a><\/p>\n<p>We would also like to give a special thanks to <a href=\"https:\/\/github.com\/hellocharli\" rel=\"noopener\" target=\"_blank\">@hellocharli<\/a>, <a href=\"https:\/\/github.com\/Blake-Madden\" rel=\"noopener\" target=\"_blank\">@Blake-Madden<\/a>, <a href=\"https:\/\/github.com\/wcruz-br\" rel=\"noopener\" target=\"_blank\">@wcruz-br<\/a>, and <a href=\"https:\/\/github.com\/berlintay\" rel=\"noopener\" target=\"_blank\">@berlintay<\/a>, for code quality, documentation, repository management, and dependency updates across the board!<\/p>\n<h2>Thank you!<\/h2>\n<p>We hope you enjoy this release of Windows Terminal 1.21 Preview! More information on these new features can be found on our <a href=\"https:\/\/aka.ms\/terminal-docs\" rel=\"noopener\" target=\"_blank\">docs site<\/a> and if you find any bugs or have feature requests, feel free to file them on <a href=\"https:\/\/github.com\/microsoft\/terminal\" rel=\"noopener\" target=\"_blank\">GitHub<\/a>.<\/p>\n<p>If you have any questions you can reach out to Christopher Nguyen (<a href=\"https:\/\/twitter.com\/nguyen_dows\" rel=\"noopener\" target=\"_blank\">@nguyen_dows<\/a>) on X (formerly Twitter.)<\/p>\n<p>Thanks again!<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2023\/01\/Jan2023Signatures.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/commandline\/wp-content\/uploads\/sites\/33\/2023\/01\/Jan2023Signatures.png\" alt=\"2023 Signatures\" width=\"1801\" height=\"259\" class=\"alignnone size-full wp-image-8322\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Windows Terminal is back with another preview release! Windows Terminal Preview 1.21 introduces long-awaited features like Buffer Restore and fontfall back as well as new experimental features like Scratchpad and the ability to load up an image as a texture. There&#8217;s also a LOT MORE stuff so check out the rest of this blog post [&hellip;]<\/p>\n","protected":false},"author":101092,"featured_media":9941,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[10,1,2,1535,1728,5,6,782],"tags":[],"class_list":["post-9872","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cmd","category-commandline","category-command-line","category-open-source","category-windows","category-windows-10","category-windows-console","category-windows-terminal"],"acf":[],"blog_post_summary":"<p>Windows Terminal is back with another preview release! Windows Terminal Preview 1.21 introduces long-awaited features like Buffer Restore and fontfall back as well as new experimental features like Scratchpad and the ability to load up an image as a texture. There&#8217;s also a LOT MORE stuff so check out the rest of this blog post [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/posts\/9872","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/users\/101092"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/comments?post=9872"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/posts\/9872\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/media\/9941"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/media?parent=9872"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/categories?post=9872"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/commandline\/wp-json\/wp\/v2\/tags?post=9872"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}