Software 42324 Published by

Microsoft has released Windows Terminal Preview 1.2.2022.0.





Windows Terminal is a new, modern, feature-rich, productive terminal application for command-line users. It includes many of the features most frequently requested by the Windows command-line community including support for tabs, rich text, globalization, configurability, theming & styling, and more.

Features

  • We're flighting very early support for a "command palette", which will provide quick access to every Terminal feature (#6635)
    • If you bind commandPalette (I recommend Ctrl+Shift+P), you can open a filterable list
      of every action Terminal can perform.
    • This is a great way to find "focus mode" and "always on top" mode! (see below)
  • We've added two window management features, "focus mode" and "always on top" (#6804) (#6903)
    • Focus mode removes the tab bar and caption buttons, and always on top mode always-on-tops the window.
    • Right now, they're accessible via the toggleFocusMode and toggleAlwaysOnTop action bindings. They are not bound to keys by default.
  • Terminal has learned to pop up warning dialogs about clipboard content (thanks @greg904!) (#6631)
    • Pasting content over 5 KiB in length will result in a confirmation dialog.
      • This can be disabled with the global setting largePasteWarning (boolean, default true)
    • Pasting content that contains newline characters will result in a confirmation dialog.
      • This can be disabled with the global setting multiLinePasteWarning (boolean, default true)
  • There is a handful of new action bindings, none of which are bound by default:
    • renameTab (activates the tab title text field) (thanks @ggadget6) (#6557)
    • toggleRetroEffect (#6691)
    • setTabColor and openTabColorPicker (#6567)
  • This version of Windows Terminal ships with Cascadia Code 2007.15.

Changes

  • The rowsToScroll setting has been removed (#6891).
    • It was added to work around precision touchpad scrolling issues, which we fixed correctly before 1.0
    • Terminal will now follow the system's "lines to scroll" setting.
    • In addition, it will no longer scroll backwards when the system setting is set to "one page at a time"
  • The terminal will no longer jump to the bottom when you're scrolled up or when you have a selection (#6062)
  • Holding down Shift while clicking has always expanded your selection. Now, however, you can take it two or three steps further by holding down Shift and double- or triple-clicking (#6322)
  • You can now double-click a tab to rename it (thanks @greg904!) (#6628)
  • wt will now accept shorthand nt, sp, ft versions of new-tab, split-pane, and focus-tab on the commandline (#6576)
  • Our window borders will now always be unobtrusive, even when your system theme is light (thanks @greg904!) (#6624)
  • The Solarized color schemes have been updated to fix "bright black" and "normal black" having been swapped (thanks @M-Pixel!) (#6985).
    • PowerShell's PSReadline prefers bright black to render command parameters, which rendered (!) them totally unreadable on Solarized Dark
  • We can now hot reload a bunch of renderer settings like the experimental retro terminal effect and the software rendering flag (#6551)

UI

  • Thanks to @jtippet, Terminal's UI is now fives of times more accessible in high contrast mode (#6833) (#6910)
    • This includes beautiful new icons ( Medium Terminal Icon in Black) (#6915)
  • Thanks again to @jtippet, our "new tab" button now looks much closer to the rest of the tab strip in shape and color (#6766) (#6812)
  • You can now start selections from the padding area (#6343)

Terminal Basics

  • Color representation has been significantly improved (thanks @j4james!)
    • In the old days (read: before 1.2), Terminal would try to map colors coming out of applications to their
      nearest paletted color index. This was inherently lossy.
    • The pseudoconsole will now forward colors and styles emitted by applications with higher fidelity (#6506)
    • We've added heuristic detection for applications using the traditional Win32 console API to set "defaulted" background/foreground colors (#6698)
    • This required us to break and then somewhat fix DECSCNM (full screen inversion) (#6809)
  • We can now render additional graphical attributes (thanks @j4james!)
    • SGR 4, "faint" (#6873)
      • Faint text will be rendered at roughly half intensity.
    • SGR 8, "concealed" (#6907)
      • Concealed text will not be visible, but it will be copyable to the clipboard and read out by screen readers.
    • SGR 53, "overline" (#6754)
      • It's like an underline, but not so much "under" as "over".
    • Care about SGRs a lot? Follow #6879 for yet more SGRs.
  • Commandline applications can now put text on the clipboard using OSC 52 (thanks @uzxmx!) (#5823)
  • Terminal (and conhost) will now be able to answer queries for further device attributes (DA2, DA3) (thanks @j4james!) (#6850)

Bug Fixes

  • You can now run wt as an Administrator from the Run dialog with Ctrl+Shift+Enter (#6860)
    • This is a workaround for MSFT:25907286.
    • This change also fixes the issue where running wt from powershell would render your existing session inoperable.
      • App execution aliases aren't real executables, so they've got all sorts of fun caveats!
  • Precision touchpads have been reined in and will no longer dispatch untold many VT mouse events on scroll (#6843)
  • The hard reset sequence will now properly result in the entire terminal being reset (thanks @j4james!) (#6763)
  • Terminal should no longer crash when you read its contents with Narrator's "scan mode" (#6447)

Performance

  • We've made a good number of behind-the-scenes performance improvements:
    • "Improved ATTR_ROW::ReplaceAttrs performance" (thanks @lhecker!) (#6573)
    • "Improve bitmap::_calculateArea performance" (thanks @lhecker!) (#6572)
    • "Recycle assorted rendering components to accelerate drawing" (#6483)
    • "Restore simple text runs, correct for crashes" (#6695)
    • "Avoid copying the bitmap on the way into the tracing function" (#6839)
    • "Cache VT buffer line string to avoid (de)alloc on every paint" (#6840)
    • "Cache the size viewport structure inside TextBuffer" (#6841)
    • "Cache the viewport to make invalidation faster" (#6918)
Winterminal

Windows Terminal Preview v1.2.2022.0