From 11b79c934e5551384b4d16159e05ee8d7a28122f Mon Sep 17 00:00:00 2001 From: geekjosh Date: Wed, 30 Oct 2024 17:44:36 +0000 Subject: [PATCH 01/13] Added "showTabsFullscreen" global setting and UI --- src/cascadia/TerminalSettingsEditor/GlobalAppearance.xaml | 6 ++++++ .../TerminalSettingsEditor/GlobalAppearanceViewModel.h | 1 + .../TerminalSettingsEditor/GlobalAppearanceViewModel.idl | 1 + .../TerminalSettingsEditor/Resources/en-US/Resources.resw | 8 ++++++++ src/cascadia/TerminalSettingsModel/GlobalAppSettings.idl | 1 + src/cascadia/TerminalSettingsModel/MTSMSettings.h | 3 ++- 6 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/cascadia/TerminalSettingsEditor/GlobalAppearance.xaml b/src/cascadia/TerminalSettingsEditor/GlobalAppearance.xaml index f227268613d..854fd733766 100644 --- a/src/cascadia/TerminalSettingsEditor/GlobalAppearance.xaml +++ b/src/cascadia/TerminalSettingsEditor/GlobalAppearance.xaml @@ -64,6 +64,12 @@ Style="{StaticResource ToggleSwitchInExpanderStyle}" /> + + + + + Display a shield in the title bar when Windows Terminal is running as Administrator Header for a control to toggle displaying a shield in the title bar of the app. "Admin" refers to elevated sessions like "run as Admin" + + Show tabs in full screen + Header for a control to toggle if the app should show the tabs when in full screen state. + + + When enabled, the tab bar will be visibile when the app is full screen + A description for what the "show tabs in full screen" setting does. + Path translation Name for a control to select how file and directory paths are translated. diff --git a/src/cascadia/TerminalSettingsModel/GlobalAppSettings.idl b/src/cascadia/TerminalSettingsModel/GlobalAppSettings.idl index e212fc6181c..32ab969645c 100644 --- a/src/cascadia/TerminalSettingsModel/GlobalAppSettings.idl +++ b/src/cascadia/TerminalSettingsModel/GlobalAppSettings.idl @@ -57,6 +57,7 @@ namespace Microsoft.Terminal.Settings.Model INHERITABLE_SETTING(Int32, InitialRows); INHERITABLE_SETTING(Int32, InitialCols); INHERITABLE_SETTING(Boolean, AlwaysShowTabs); + INHERITABLE_SETTING(Boolean, ShowTabsFullscreen); INHERITABLE_SETTING(NewTabPosition, NewTabPosition); INHERITABLE_SETTING(Boolean, ShowTitleInTitlebar); INHERITABLE_SETTING(Boolean, ConfirmCloseAllTabs); diff --git a/src/cascadia/TerminalSettingsModel/MTSMSettings.h b/src/cascadia/TerminalSettingsModel/MTSMSettings.h index 820e426c4d3..55f385b3240 100644 --- a/src/cascadia/TerminalSettingsModel/MTSMSettings.h +++ b/src/cascadia/TerminalSettingsModel/MTSMSettings.h @@ -69,7 +69,8 @@ Author(s): X(winrt::Windows::Foundation::Collections::IVector, NewTabMenu, "newTabMenu", winrt::single_threaded_vector({ Model::RemainingProfilesEntry{} })) \ X(bool, AllowHeadless, "compatibility.allowHeadless", false) \ X(bool, IsolatedMode, "compatibility.isolatedMode", false) \ - X(hstring, SearchWebDefaultQueryUrl, "searchWebDefaultQueryUrl", L"https://www.bing.com/search?q=%22%s%22") + X(hstring, SearchWebDefaultQueryUrl, "searchWebDefaultQueryUrl", L"https://www.bing.com/search?q=%22%s%22") \ + X(bool, ShowTabsFullscreen, "showTabsFullscreen", false) // Also add these settings to: // * Profile.idl From 60aa877bbb5531e6bc87fa5e20c88109aa1c1435 Mon Sep 17 00:00:00 2001 From: geekjosh Date: Sun, 3 Nov 2024 17:01:50 +0000 Subject: [PATCH 02/13] Implement the logic to show/hide tab row in fullscreen state --- src/cascadia/TerminalApp/TabManagement.cpp | 10 +++-- src/cascadia/TerminalApp/TerminalPage.cpp | 37 +++++++++++++++++++ src/cascadia/TerminalApp/TerminalPage.h | 4 ++ src/cascadia/TerminalApp/TerminalPage.idl | 1 + src/cascadia/TerminalApp/TerminalWindow.cpp | 10 +++++ src/cascadia/TerminalApp/TerminalWindow.h | 3 ++ src/cascadia/TerminalApp/TerminalWindow.idl | 3 ++ src/cascadia/WindowsTerminal/AppHost.cpp | 13 +++++++ src/cascadia/WindowsTerminal/AppHost.h | 3 ++ src/cascadia/WindowsTerminal/IslandWindow.cpp | 14 +++++++ src/cascadia/WindowsTerminal/IslandWindow.h | 4 ++ .../WindowsTerminal/NonClientIslandWindow.cpp | 22 ++++++++--- .../WindowsTerminal/NonClientIslandWindow.h | 2 + 13 files changed, 117 insertions(+), 9 deletions(-) diff --git a/src/cascadia/TerminalApp/TabManagement.cpp b/src/cascadia/TerminalApp/TabManagement.cpp index 0eba4511a92..cf0df031750 100644 --- a/src/cascadia/TerminalApp/TabManagement.cpp +++ b/src/cascadia/TerminalApp/TabManagement.cpp @@ -243,10 +243,12 @@ namespace winrt::TerminalApp::implementation // - Handle changes in tab layout. void TerminalPage::_UpdateTabView() { - // Never show the tab row when we're fullscreen. Otherwise: - // Show tabs when there's more than 1, or the user has chosen to always - // show the tab bar. - const auto isVisible = (!_isFullscreen && !_isInFocusMode) && + // The tab row should only be visible if: + // - we're not in focus mode + // - we're not in full screen, or the user has enabled fullscreen tabs + // - there is more than one tab, or the user has chosen to always show tabs + const auto isVisible = !_isInFocusMode && + (!_isFullscreen || _showTabsFullscreen) && (_settings.GlobalSettings().ShowTabsInTitlebar() || (_tabs.Size() > 1) || _settings.GlobalSettings().AlwaysShowTabs()); diff --git a/src/cascadia/TerminalApp/TerminalPage.cpp b/src/cascadia/TerminalApp/TerminalPage.cpp index d48ac1cfb03..061f0ea2067 100644 --- a/src/cascadia/TerminalApp/TerminalPage.cpp +++ b/src/cascadia/TerminalApp/TerminalPage.cpp @@ -270,6 +270,7 @@ namespace winrt::TerminalApp::implementation _layoutUpdatedRevoker = _tabContent.LayoutUpdated(winrt::auto_revoke, { this, &TerminalPage::_OnFirstLayout }); _isAlwaysOnTop = _settings.GlobalSettings().AlwaysOnTop(); + _showTabsFullscreen = _settings.GlobalSettings().ShowTabsFullscreen(); // DON'T set up Toasts/TeachingTips here. They should be loaded and // initialized the first time they're opened, in whatever method opens @@ -3605,6 +3606,9 @@ namespace winrt::TerminalApp::implementation _isAlwaysOnTop = _settings.GlobalSettings().AlwaysOnTop(); AlwaysOnTopChanged.raise(*this, nullptr); + _showTabsFullscreen = _settings.GlobalSettings().ShowTabsFullscreen(); + ShowTabsFullscreenChanged.raise(*this, nullptr); + // Settings AllowDependentAnimations will affect whether animations are // enabled application-wide, so we don't need to check it each time we // want to create an animation. @@ -4029,6 +4033,39 @@ namespace winrt::TerminalApp::implementation return _isAlwaysOnTop; } + // Method Description: + // - Returns true if the tab row should be visible when we're in full screen + // state. + // Arguments: + // - + // Return Value: + // - true if the tab row should be visibile in full screen state + bool TerminalPage::ShowTabsFullscreen() const + { + return _showTabsFullscreen; + } + + // Method Description: + // - Updates the the visibility of the tab row when in fullscreen state and + // raises the ShowTabsFullscreenChanged event + void TerminalPage::SetShowTabsFullscreen(bool newShowTabsFullscreen) + { + if (_showTabsFullscreen == newShowTabsFullscreen) + { + return; + } + + _showTabsFullscreen = newShowTabsFullscreen; + + // if we're currently in fullscreen, update tab view to make + // sure tabs are given the correct visibility + if (_isFullscreen) + { + _UpdateTabView(); + } + ShowTabsFullscreenChanged.raise(*this, nullptr); + } + void TerminalPage::SetFullscreen(bool newFullscreen) { if (_isFullscreen == newFullscreen) diff --git a/src/cascadia/TerminalApp/TerminalPage.h b/src/cascadia/TerminalApp/TerminalPage.h index 09b3fa8a952..49f6fe9dab2 100644 --- a/src/cascadia/TerminalApp/TerminalPage.h +++ b/src/cascadia/TerminalApp/TerminalPage.h @@ -135,6 +135,8 @@ namespace winrt::TerminalApp::implementation bool FocusMode() const; bool Fullscreen() const; bool AlwaysOnTop() const; + bool ShowTabsFullscreen() const; + void SetShowTabsFullscreen(bool newShowTabsFullscreen); void SetFullscreen(bool); void SetFocusMode(const bool inFocusMode); void Maximized(bool newMaximized); @@ -189,6 +191,7 @@ namespace winrt::TerminalApp::implementation til::typed_event FullscreenChanged; til::typed_event ChangeMaximizeRequested; til::typed_event AlwaysOnTopChanged; + til::typed_event ShowTabsFullscreenChanged; til::typed_event RaiseVisualBell; til::typed_event SetTaskbarProgress; til::typed_event Initialized; @@ -244,6 +247,7 @@ namespace winrt::TerminalApp::implementation bool _isFullscreen{ false }; bool _isMaximized{ false }; bool _isAlwaysOnTop{ false }; + bool _showTabsFullscreen{ false }; std::optional _loadFromPersistedLayoutIdx{}; diff --git a/src/cascadia/TerminalApp/TerminalPage.idl b/src/cascadia/TerminalApp/TerminalPage.idl index 56d30eb3d6d..a2ee01e56e6 100644 --- a/src/cascadia/TerminalApp/TerminalPage.idl +++ b/src/cascadia/TerminalApp/TerminalPage.idl @@ -95,6 +95,7 @@ namespace TerminalApp event Windows.Foundation.TypedEventHandler FocusModeChanged; event Windows.Foundation.TypedEventHandler FullscreenChanged; event Windows.Foundation.TypedEventHandler AlwaysOnTopChanged; + event Windows.Foundation.TypedEventHandler ShowTabsFullscreenChanged; event Windows.Foundation.TypedEventHandler Initialized; event Windows.Foundation.TypedEventHandler SetTaskbarProgress; event Windows.Foundation.TypedEventHandler IdentifyWindowsRequested; diff --git a/src/cascadia/TerminalApp/TerminalWindow.cpp b/src/cascadia/TerminalApp/TerminalWindow.cpp index 5f16e5a66be..6998d6a217d 100644 --- a/src/cascadia/TerminalApp/TerminalWindow.cpp +++ b/src/cascadia/TerminalApp/TerminalWindow.cpp @@ -288,6 +288,11 @@ namespace winrt::TerminalApp::implementation return _settings.GlobalSettings().AlwaysOnTop(); } + bool TerminalWindow::GetInitialShowTabsFullscreen() + { + return _settings.GlobalSettings().ShowTabsFullscreen(); + } + bool TerminalWindow::GetMinimizeToNotificationArea() { return _settings.GlobalSettings().MinimizeToNotificationArea(); @@ -1009,6 +1014,11 @@ namespace winrt::TerminalApp::implementation return _root ? _root->AlwaysOnTop() : false; } + bool TerminalWindow::ShowTabsFullscreen() const + { + return _root ? _root->ShowTabsFullscreen() : false; + } + void TerminalWindow::SetSettingsStartupArgs(const std::vector& actions) { for (const auto& action : actions) diff --git a/src/cascadia/TerminalApp/TerminalWindow.h b/src/cascadia/TerminalApp/TerminalWindow.h index 29eda951587..05f47f87477 100644 --- a/src/cascadia/TerminalApp/TerminalWindow.h +++ b/src/cascadia/TerminalApp/TerminalWindow.h @@ -93,6 +93,7 @@ namespace winrt::TerminalApp::implementation bool Fullscreen() const; void Maximized(bool newMaximized); bool AlwaysOnTop() const; + bool ShowTabsFullscreen() const; bool AutoHideWindow(); void IdentifyWindow(); @@ -112,6 +113,7 @@ namespace winrt::TerminalApp::implementation Microsoft::Terminal::Settings::Model::LaunchMode GetLaunchMode(); bool GetShowTabsInTitlebar(); bool GetInitialAlwaysOnTop(); + bool GetInitialShowTabsFullscreen(); float CalcSnappedDimension(const bool widthOrHeight, const float dimension) const; Windows::UI::Xaml::UIElement GetRoot() noexcept; @@ -220,6 +222,7 @@ namespace winrt::TerminalApp::implementation FORWARDED_TYPED_EVENT(FullscreenChanged, winrt::Windows::Foundation::IInspectable, winrt::Windows::Foundation::IInspectable, _root, FullscreenChanged); FORWARDED_TYPED_EVENT(ChangeMaximizeRequested, winrt::Windows::Foundation::IInspectable, winrt::Windows::Foundation::IInspectable, _root, ChangeMaximizeRequested); FORWARDED_TYPED_EVENT(AlwaysOnTopChanged, winrt::Windows::Foundation::IInspectable, winrt::Windows::Foundation::IInspectable, _root, AlwaysOnTopChanged); + FORWARDED_TYPED_EVENT(ShowTabsFullscreenChanged, winrt::Windows::Foundation::IInspectable, winrt::Windows::Foundation::IInspectable, _root, ShowTabsFullscreenChanged); FORWARDED_TYPED_EVENT(RaiseVisualBell, winrt::Windows::Foundation::IInspectable, winrt::Windows::Foundation::IInspectable, _root, RaiseVisualBell); FORWARDED_TYPED_EVENT(SetTaskbarProgress, winrt::Windows::Foundation::IInspectable, winrt::Windows::Foundation::IInspectable, _root, SetTaskbarProgress); FORWARDED_TYPED_EVENT(IdentifyWindowsRequested, Windows::Foundation::IInspectable, Windows::Foundation::IInspectable, _root, IdentifyWindowsRequested); diff --git a/src/cascadia/TerminalApp/TerminalWindow.idl b/src/cascadia/TerminalApp/TerminalWindow.idl index 8b1bca78f94..836d3eb4973 100644 --- a/src/cascadia/TerminalApp/TerminalWindow.idl +++ b/src/cascadia/TerminalApp/TerminalWindow.idl @@ -71,6 +71,7 @@ namespace TerminalApp void Maximized(Boolean newMaximized); Boolean AlwaysOnTop { get; }; Boolean AutoHideWindow { get; }; + Boolean ShowTabsFullscreen { get; }; void IdentifyWindow(); void SetPersistedLayoutIdx(UInt32 idx); @@ -86,6 +87,7 @@ namespace TerminalApp Microsoft.Terminal.Settings.Model.LaunchMode GetLaunchMode(); Boolean GetShowTabsInTitlebar(); Boolean GetInitialAlwaysOnTop(); + Boolean GetInitialShowTabsFullscreen(); Single CalcSnappedDimension(Boolean widthOrHeight, Single dimension); void TitlebarClicked(); void CloseWindow(); @@ -121,6 +123,7 @@ namespace TerminalApp event Windows.Foundation.TypedEventHandler FullscreenChanged; event Windows.Foundation.TypedEventHandler ChangeMaximizeRequested; event Windows.Foundation.TypedEventHandler AlwaysOnTopChanged; + event Windows.Foundation.TypedEventHandler ShowTabsFullscreenChanged; event Windows.Foundation.TypedEventHandler RaiseVisualBell; event Windows.Foundation.TypedEventHandler SetTaskbarProgress; event Windows.Foundation.TypedEventHandler IdentifyWindowsRequested; diff --git a/src/cascadia/WindowsTerminal/AppHost.cpp b/src/cascadia/WindowsTerminal/AppHost.cpp index 42c033f3b0c..07ea130de8e 100644 --- a/src/cascadia/WindowsTerminal/AppHost.cpp +++ b/src/cascadia/WindowsTerminal/AppHost.cpp @@ -300,6 +300,7 @@ void AppHost::Initialize() _window->SetAlwaysOnTop(_windowLogic.GetInitialAlwaysOnTop()); _window->SetAutoHideWindow(_windowLogic.AutoHideWindow()); + _window->SetShowTabsFullscreen(_windowLogic.GetInitialShowTabsFullscreen()); // MORE EVENT HANDLERS HERE! // MAKE SURE THEY ARE ALL: @@ -337,6 +338,7 @@ void AppHost::Initialize() _revokers.FullscreenChanged = _windowLogic.FullscreenChanged(winrt::auto_revoke, { this, &AppHost::_FullscreenChanged }); _revokers.FocusModeChanged = _windowLogic.FocusModeChanged(winrt::auto_revoke, { this, &AppHost::_FocusModeChanged }); _revokers.AlwaysOnTopChanged = _windowLogic.AlwaysOnTopChanged(winrt::auto_revoke, { this, &AppHost::_AlwaysOnTopChanged }); + _revokers.ShowTabsFullscreenChanged = _windowLogic.ShowTabsFullscreenChanged(winrt::auto_revoke, { this, &AppHost::_ShowTabsFullscreenChanged }); _revokers.RaiseVisualBell = _windowLogic.RaiseVisualBell(winrt::auto_revoke, { this, &AppHost::_RaiseVisualBell }); _revokers.SystemMenuChangeRequested = _windowLogic.SystemMenuChangeRequested(winrt::auto_revoke, { this, &AppHost::_SystemMenuChangeRequested }); _revokers.ChangeMaximizeRequested = _windowLogic.ChangeMaximizeRequested(winrt::auto_revoke, { this, &AppHost::_ChangeMaximizeRequested }); @@ -849,6 +851,17 @@ void AppHost::_AlwaysOnTopChanged(const winrt::Windows::Foundation::IInspectable _window->SetAlwaysOnTop(_windowLogic.AlwaysOnTop()); } +void AppHost::_ShowTabsFullscreenChanged(const winrt::Windows::Foundation::IInspectable&, + const winrt::Windows::Foundation::IInspectable&) +{ + if (_window == nullptr) + { + return; + } + + _window->SetShowTabsFullscreen(_windowLogic.ShowTabsFullscreen()); +} + // Method Description // - Called when the app wants to flash the taskbar, indicating to the user that // something needs their attention diff --git a/src/cascadia/WindowsTerminal/AppHost.h b/src/cascadia/WindowsTerminal/AppHost.h index 470052069c4..b85352d604e 100644 --- a/src/cascadia/WindowsTerminal/AppHost.h +++ b/src/cascadia/WindowsTerminal/AppHost.h @@ -85,6 +85,8 @@ class AppHost : public std::enable_shared_from_this const winrt::Windows::Foundation::IInspectable& arg); void _AlwaysOnTopChanged(const winrt::Windows::Foundation::IInspectable& sender, const winrt::Windows::Foundation::IInspectable& arg); + void _ShowTabsFullscreenChanged(const winrt::Windows::Foundation::IInspectable& sender, + const winrt::Windows::Foundation::IInspectable& arg); safe_void_coroutine _WindowInitializedHandler(const winrt::Windows::Foundation::IInspectable& sender, const winrt::Windows::Foundation::IInspectable& arg); @@ -188,6 +190,7 @@ class AppHost : public std::enable_shared_from_this winrt::TerminalApp::TerminalWindow::FullscreenChanged_revoker FullscreenChanged; winrt::TerminalApp::TerminalWindow::FocusModeChanged_revoker FocusModeChanged; winrt::TerminalApp::TerminalWindow::AlwaysOnTopChanged_revoker AlwaysOnTopChanged; + winrt::TerminalApp::TerminalWindow::ShowTabsFullscreenChanged_revoker ShowTabsFullscreenChanged; winrt::TerminalApp::TerminalWindow::RaiseVisualBell_revoker RaiseVisualBell; winrt::TerminalApp::TerminalWindow::SystemMenuChangeRequested_revoker SystemMenuChangeRequested; winrt::TerminalApp::TerminalWindow::ChangeMaximizeRequested_revoker ChangeMaximizeRequested; diff --git a/src/cascadia/WindowsTerminal/IslandWindow.cpp b/src/cascadia/WindowsTerminal/IslandWindow.cpp index a604ed53b80..8e89e7b06a3 100644 --- a/src/cascadia/WindowsTerminal/IslandWindow.cpp +++ b/src/cascadia/WindowsTerminal/IslandWindow.cpp @@ -992,6 +992,15 @@ void IslandWindow::ShowWindowChanged(const bool showOrHide) } } +void IslandWindow::SetShowTabsFullscreen(const bool newShowTabsFullscreen) +{ + if (_showTabsFullscreen == newShowTabsFullscreen) + { + return; + } + _SetShowTabsFullscreen(newShowTabsFullscreen); +} + // Method Description // - Flash the taskbar icon, indicating to the user that something needs their attention void IslandWindow::FlashTaskbar() @@ -1315,6 +1324,11 @@ void IslandWindow::_SetIsFullscreen(const bool fullscreenEnabled) } } +void IslandWindow::_SetShowTabsFullscreen(const bool newShowTabsFullscreen) +{ + _showTabsFullscreen = newShowTabsFullscreen; +} + // Method Description: // - Summon the window, or possibly dismiss it. If toggleVisibility is true, // then we'll dismiss (minimize) the window if it's currently active. diff --git a/src/cascadia/WindowsTerminal/IslandWindow.h b/src/cascadia/WindowsTerminal/IslandWindow.h index aac53006677..379f67da566 100644 --- a/src/cascadia/WindowsTerminal/IslandWindow.h +++ b/src/cascadia/WindowsTerminal/IslandWindow.h @@ -51,6 +51,7 @@ class IslandWindow : void FullscreenChanged(const bool fullscreen); void SetAlwaysOnTop(const bool alwaysOnTop); void ShowWindowChanged(const bool showOrHide); + void SetShowTabsFullscreen(const bool newShowTabsFullscreen); void FlashTaskbar(); void SetTaskbarProgress(const size_t state, const size_t progress); @@ -112,6 +113,7 @@ class IslandWindow : bool _borderless{ false }; bool _alwaysOnTop{ false }; bool _fullscreen{ false }; + bool _showTabsFullscreen{ false }; bool _fWasMaximizedBeforeFullscreen{ false }; RECT _rcWindowBeforeFullscreen{}; RECT _rcWorkBeforeFullscreen{}; @@ -123,6 +125,8 @@ class IslandWindow : virtual void _SetIsBorderless(const bool borderlessEnabled); virtual void _SetIsFullscreen(const bool fullscreenEnabled); + virtual void _SetShowTabsFullscreen(const bool newShowTabsFullscreen); + void _RestoreFullscreenPosition(const RECT& rcWork); void _SetFullscreenPosition(const RECT& rcMonitor, const RECT& rcWork); diff --git a/src/cascadia/WindowsTerminal/NonClientIslandWindow.cpp b/src/cascadia/WindowsTerminal/NonClientIslandWindow.cpp index 8d4982269bb..ac06f0cff1b 100644 --- a/src/cascadia/WindowsTerminal/NonClientIslandWindow.cpp +++ b/src/cascadia/WindowsTerminal/NonClientIslandWindow.cpp @@ -1137,7 +1137,7 @@ void NonClientIslandWindow::_SetIsBorderless(const bool borderlessEnabled) // Method Description: // - Enable or disable fullscreen mode. When entering fullscreen mode, we'll -// need to manually hide the entire titlebar. +// need to check whether to hide the titlebar. // - See also IslandWindow::_SetIsFullscreen, which does additional work. // Arguments: // - fullscreenEnabled: If true, we're entering fullscreen mode. If false, we're leaving. @@ -1146,6 +1146,17 @@ void NonClientIslandWindow::_SetIsBorderless(const bool borderlessEnabled) void NonClientIslandWindow::_SetIsFullscreen(const bool fullscreenEnabled) { IslandWindow::_SetIsFullscreen(fullscreenEnabled); + _UpdateTitlebarVisibility(); +} + +void NonClientIslandWindow::_SetShowTabsFullscreen(const bool newShowTabsFullscreen) +{ + IslandWindow::_SetShowTabsFullscreen(newShowTabsFullscreen); + _UpdateTitlebarVisibility(); +} + +void NonClientIslandWindow::_UpdateTitlebarVisibility() +{ if (_titlebar) { _titlebar.Visibility(_IsTitlebarVisible() ? Visibility::Visible : Visibility::Collapsed); @@ -1158,15 +1169,16 @@ void NonClientIslandWindow::_SetIsFullscreen(const bool fullscreenEnabled) } // Method Description: -// - Returns true if the titlebar is visible. For things like fullscreen mode, -// borderless mode (aka "focus mode"), this will return false. +// - Returns true if the titlebar is visible. For borderless mode (aka "focus mode"), +// this will return false. For fullscreen, this will return false unless the user +// has enabled fullscreen tabs. // Arguments: // - // Return Value: -// - true iff the titlebar is visible +// - true if the titlebar is visible bool NonClientIslandWindow::_IsTitlebarVisible() const { - return !(_fullscreen || _borderless); + return !_borderless && (!_fullscreen || _showTabsFullscreen); } void NonClientIslandWindow::SetTitlebarBackground(winrt::Windows::UI::Xaml::Media::Brush brush) diff --git a/src/cascadia/WindowsTerminal/NonClientIslandWindow.h b/src/cascadia/WindowsTerminal/NonClientIslandWindow.h index bf9c815237c..7ecef47e7a8 100644 --- a/src/cascadia/WindowsTerminal/NonClientIslandWindow.h +++ b/src/cascadia/WindowsTerminal/NonClientIslandWindow.h @@ -92,11 +92,13 @@ class NonClientIslandWindow : public IslandWindow void _SetIsBorderless(const bool borderlessEnabled) override; void _SetIsFullscreen(const bool fullscreenEnabled) override; + void _SetShowTabsFullscreen(const bool newShowTabsFullscreen) override; bool _IsTitlebarVisible() const; void _UpdateFrameMargins() const noexcept; void _UpdateMaximizedState(); void _UpdateIslandPosition(const UINT windowWidth, const UINT windowHeight); + void _UpdateTitlebarVisibility(); struct Revokers { From 22f72a2a21c9b35f157a67a455d878ca06979baa Mon Sep 17 00:00:00 2001 From: geekjosh Date: Sun, 3 Nov 2024 18:09:34 +0000 Subject: [PATCH 03/13] Implement logic to hide min/max/close buttons in fullscreen --- src/cascadia/TerminalApp/TitlebarControl.cpp | 7 +++++ src/cascadia/TerminalApp/TitlebarControl.h | 1 + src/cascadia/TerminalApp/TitlebarControl.idl | 1 + src/cascadia/WindowsTerminal/AppHost.cpp | 1 + src/cascadia/WindowsTerminal/IslandWindow.cpp | 11 +------ src/cascadia/WindowsTerminal/IslandWindow.h | 3 +- .../WindowsTerminal/NonClientIslandWindow.cpp | 31 +++++++++++++------ .../WindowsTerminal/NonClientIslandWindow.h | 2 +- 8 files changed, 34 insertions(+), 23 deletions(-) diff --git a/src/cascadia/TerminalApp/TitlebarControl.cpp b/src/cascadia/TerminalApp/TitlebarControl.cpp index 1debd030544..1ed82f39ca6 100644 --- a/src/cascadia/TerminalApp/TitlebarControl.cpp +++ b/src/cascadia/TerminalApp/TitlebarControl.cpp @@ -12,6 +12,8 @@ #include "TitlebarControl.g.cpp" +using namespace winrt::Windows::UI::Xaml; + namespace winrt::TerminalApp::implementation { TitlebarControl::TitlebarControl(uint64_t handle) : @@ -77,6 +79,11 @@ namespace winrt::TerminalApp::implementation } } + void TitlebarControl::FullscreenChanged(const bool fullscreen) + { + MinMaxCloseControl().Visibility(fullscreen ? Visibility::Collapsed : Visibility::Visible); + } + void TitlebarControl::_OnMaximizeOrRestore(byte flag) { POINT point1 = {}; diff --git a/src/cascadia/TerminalApp/TitlebarControl.h b/src/cascadia/TerminalApp/TitlebarControl.h index 8020ff90956..1008253ba8d 100644 --- a/src/cascadia/TerminalApp/TitlebarControl.h +++ b/src/cascadia/TerminalApp/TitlebarControl.h @@ -22,6 +22,7 @@ namespace winrt::TerminalApp::implementation void SetWindowVisualState(WindowVisualState visualState); void Root_SizeChanged(const IInspectable& sender, const Windows::UI::Xaml::SizeChangedEventArgs& e); + void FullscreenChanged(const bool fullscreen); void Minimize_Click(const winrt::Windows::Foundation::IInspectable& sender, const winrt::Windows::UI::Xaml::RoutedEventArgs& e); void Maximize_Click(const winrt::Windows::Foundation::IInspectable& sender, const winrt::Windows::UI::Xaml::RoutedEventArgs& e); diff --git a/src/cascadia/TerminalApp/TitlebarControl.idl b/src/cascadia/TerminalApp/TitlebarControl.idl index b7a06ba987e..8f934fae951 100644 --- a/src/cascadia/TerminalApp/TitlebarControl.idl +++ b/src/cascadia/TerminalApp/TitlebarControl.idl @@ -22,6 +22,7 @@ namespace TerminalApp { TitlebarControl(UInt64 parentWindowHandle); void SetWindowVisualState(WindowVisualState visualState); + void FullscreenChanged(Boolean fullscreen); void HoverButton(CaptionButton button); void PressButton(CaptionButton button); diff --git a/src/cascadia/WindowsTerminal/AppHost.cpp b/src/cascadia/WindowsTerminal/AppHost.cpp index 07ea130de8e..46bc576c6e4 100644 --- a/src/cascadia/WindowsTerminal/AppHost.cpp +++ b/src/cascadia/WindowsTerminal/AppHost.cpp @@ -1225,6 +1225,7 @@ void AppHost::_HandleSettingsChanged(const winrt::Windows::Foundation::IInspecta _window->SetMinimizeToNotificationAreaBehavior(_windowLogic.GetMinimizeToNotificationArea()); _window->SetAutoHideWindow(_windowLogic.AutoHideWindow()); + _window->SetShowTabsFullscreen(_windowLogic.ShowTabsFullscreen()); _updateTheme(); } diff --git a/src/cascadia/WindowsTerminal/IslandWindow.cpp b/src/cascadia/WindowsTerminal/IslandWindow.cpp index 8e89e7b06a3..0bcb8426244 100644 --- a/src/cascadia/WindowsTerminal/IslandWindow.cpp +++ b/src/cascadia/WindowsTerminal/IslandWindow.cpp @@ -994,11 +994,7 @@ void IslandWindow::ShowWindowChanged(const bool showOrHide) void IslandWindow::SetShowTabsFullscreen(const bool newShowTabsFullscreen) { - if (_showTabsFullscreen == newShowTabsFullscreen) - { - return; - } - _SetShowTabsFullscreen(newShowTabsFullscreen); + _showTabsFullscreen = newShowTabsFullscreen; } // Method Description @@ -1324,11 +1320,6 @@ void IslandWindow::_SetIsFullscreen(const bool fullscreenEnabled) } } -void IslandWindow::_SetShowTabsFullscreen(const bool newShowTabsFullscreen) -{ - _showTabsFullscreen = newShowTabsFullscreen; -} - // Method Description: // - Summon the window, or possibly dismiss it. If toggleVisibility is true, // then we'll dismiss (minimize) the window if it's currently active. diff --git a/src/cascadia/WindowsTerminal/IslandWindow.h b/src/cascadia/WindowsTerminal/IslandWindow.h index 379f67da566..d6cacd601f3 100644 --- a/src/cascadia/WindowsTerminal/IslandWindow.h +++ b/src/cascadia/WindowsTerminal/IslandWindow.h @@ -51,7 +51,7 @@ class IslandWindow : void FullscreenChanged(const bool fullscreen); void SetAlwaysOnTop(const bool alwaysOnTop); void ShowWindowChanged(const bool showOrHide); - void SetShowTabsFullscreen(const bool newShowTabsFullscreen); + virtual void SetShowTabsFullscreen(const bool newShowTabsFullscreen); void FlashTaskbar(); void SetTaskbarProgress(const size_t state, const size_t progress); @@ -125,7 +125,6 @@ class IslandWindow : virtual void _SetIsBorderless(const bool borderlessEnabled); virtual void _SetIsFullscreen(const bool fullscreenEnabled); - virtual void _SetShowTabsFullscreen(const bool newShowTabsFullscreen); void _RestoreFullscreenPosition(const RECT& rcWork); void _SetFullscreenPosition(const RECT& rcMonitor, const RECT& rcWork); diff --git a/src/cascadia/WindowsTerminal/NonClientIslandWindow.cpp b/src/cascadia/WindowsTerminal/NonClientIslandWindow.cpp index ac06f0cff1b..76be837b2b3 100644 --- a/src/cascadia/WindowsTerminal/NonClientIslandWindow.cpp +++ b/src/cascadia/WindowsTerminal/NonClientIslandWindow.cpp @@ -1147,25 +1147,36 @@ void NonClientIslandWindow::_SetIsFullscreen(const bool fullscreenEnabled) { IslandWindow::_SetIsFullscreen(fullscreenEnabled); _UpdateTitlebarVisibility(); + // GH#4224 - When the auto-hide taskbar setting is enabled, then we don't + // always get another window message to trigger us to remove the drag bar. + // So, make sure to update the size of the drag region here, so that it + // _definitely_ goes away. + _ResizeDragBarWindow(); } -void NonClientIslandWindow::_SetShowTabsFullscreen(const bool newShowTabsFullscreen) +void NonClientIslandWindow::SetShowTabsFullscreen(const bool newShowTabsFullscreen) { - IslandWindow::_SetShowTabsFullscreen(newShowTabsFullscreen); - _UpdateTitlebarVisibility(); + IslandWindow::SetShowTabsFullscreen(newShowTabsFullscreen); + + // don't waste time recalculating UI elements if we're not + // in fullscreen state - this setting doesn't affect other + // window states + if (_fullscreen) + { + _UpdateTitlebarVisibility(); + } } void NonClientIslandWindow::_UpdateTitlebarVisibility() { - if (_titlebar) + if (!_titlebar) { - _titlebar.Visibility(_IsTitlebarVisible() ? Visibility::Visible : Visibility::Collapsed); + return; } - // GH#4224 - When the auto-hide taskbar setting is enabled, then we don't - // always get another window message to trigger us to remove the drag bar. - // So, make sure to update the size of the drag region here, so that it - // _definitely_ goes away. - _ResizeDragBarWindow(); + + const auto showTitlebar = _IsTitlebarVisible(); + _titlebar.Visibility(showTitlebar ? Visibility::Visible : Visibility::Collapsed); + _titlebar.FullscreenChanged(_fullscreen); } // Method Description: diff --git a/src/cascadia/WindowsTerminal/NonClientIslandWindow.h b/src/cascadia/WindowsTerminal/NonClientIslandWindow.h index 7ecef47e7a8..22a3bb283ac 100644 --- a/src/cascadia/WindowsTerminal/NonClientIslandWindow.h +++ b/src/cascadia/WindowsTerminal/NonClientIslandWindow.h @@ -51,6 +51,7 @@ class NonClientIslandWindow : public IslandWindow void OnApplicationThemeChanged(const winrt::Windows::UI::Xaml::ElementTheme& requestedTheme) override; void SetTitlebarBackground(winrt::Windows::UI::Xaml::Media::Brush brush); + void SetShowTabsFullscreen(const bool newShowTabsFullscreen) override; virtual void UseMica(const bool newValue, const double titlebarOpacity) override; @@ -92,7 +93,6 @@ class NonClientIslandWindow : public IslandWindow void _SetIsBorderless(const bool borderlessEnabled) override; void _SetIsFullscreen(const bool fullscreenEnabled) override; - void _SetShowTabsFullscreen(const bool newShowTabsFullscreen) override; bool _IsTitlebarVisible() const; void _UpdateFrameMargins() const noexcept; From 6ae19aaf0d6eb94b72aa5b72b3ce949e1024cf01 Mon Sep 17 00:00:00 2001 From: geekjosh Date: Sat, 9 Nov 2024 15:31:21 +0000 Subject: [PATCH 04/13] Updated settings schema --- doc/cascadia/profiles.schema.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/cascadia/profiles.schema.json b/doc/cascadia/profiles.schema.json index 45ae9c79acc..6f8faa77e69 100644 --- a/doc/cascadia/profiles.schema.json +++ b/doc/cascadia/profiles.schema.json @@ -2526,6 +2526,11 @@ "description": "When set to true, the Terminal's tab row will display a shield icon when the Terminal is running with administrator privileges", "type": "boolean" }, + "showTabsFullscreen": { + "default": false, + "description": "When set to true, tabs remain visible in fullscreen mode. When set to false, tabs will be hidden when entering fullscreen mode.", + "type": "boolean" + }, "useAcrylicInTabRow": { "default": false, "description": "When set to true, the tab row will have an acrylic material background with 50% opacity.", From dd25663b4c1516b0e6f727f0cbe72c69917e2f5a Mon Sep 17 00:00:00 2001 From: geekjosh Date: Sat, 9 Nov 2024 15:38:23 +0000 Subject: [PATCH 05/13] Correct spelling mistakes --- src/cascadia/TerminalApp/TerminalPage.cpp | 4 ++-- .../TerminalSettingsEditor/Resources/en-US/Resources.resw | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cascadia/TerminalApp/TerminalPage.cpp b/src/cascadia/TerminalApp/TerminalPage.cpp index 061f0ea2067..b73391f8255 100644 --- a/src/cascadia/TerminalApp/TerminalPage.cpp +++ b/src/cascadia/TerminalApp/TerminalPage.cpp @@ -4039,7 +4039,7 @@ namespace winrt::TerminalApp::implementation // Arguments: // - // Return Value: - // - true if the tab row should be visibile in full screen state + // - true if the tab row should be visible in full screen state bool TerminalPage::ShowTabsFullscreen() const { return _showTabsFullscreen; @@ -4047,7 +4047,7 @@ namespace winrt::TerminalApp::implementation // Method Description: // - Updates the the visibility of the tab row when in fullscreen state and - // raises the ShowTabsFullscreenChanged event + // raises the ShowTabsFullscreenChanged event. void TerminalPage::SetShowTabsFullscreen(bool newShowTabsFullscreen) { if (_showTabsFullscreen == newShowTabsFullscreen) diff --git a/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw b/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw index ffb244ecfd6..f8834188f62 100644 --- a/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw +++ b/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw @@ -1966,7 +1966,7 @@ Header for a control to toggle if the app should show the tabs when in full screen state. - When enabled, the tab bar will be visibile when the app is full screen + When enabled, the tab bar will be visible when the app is full screen A description for what the "show tabs in full screen" setting does. From d002c03a02d40ed36172fdac6189449ac9693ac1 Mon Sep 17 00:00:00 2001 From: geekjosh Date: Sat, 9 Nov 2024 19:50:28 +0000 Subject: [PATCH 06/13] Removed duplicate word in comments --- src/cascadia/TerminalApp/TerminalPage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cascadia/TerminalApp/TerminalPage.cpp b/src/cascadia/TerminalApp/TerminalPage.cpp index b73391f8255..82511fb8394 100644 --- a/src/cascadia/TerminalApp/TerminalPage.cpp +++ b/src/cascadia/TerminalApp/TerminalPage.cpp @@ -4046,7 +4046,7 @@ namespace winrt::TerminalApp::implementation } // Method Description: - // - Updates the the visibility of the tab row when in fullscreen state and + // - Updates the visibility of the tab row when in fullscreen state and // raises the ShowTabsFullscreenChanged event. void TerminalPage::SetShowTabsFullscreen(bool newShowTabsFullscreen) { From 2eea60be99ddb4bf53c1db986471f48b7747d28d Mon Sep 17 00:00:00 2001 From: geekjosh Date: Sat, 16 Nov 2024 16:07:40 +0000 Subject: [PATCH 07/13] Removed unnecessary ShowTabsFullscreenChanged event --- src/cascadia/TerminalApp/TerminalPage.cpp | 5 +---- src/cascadia/TerminalApp/TerminalPage.h | 1 - src/cascadia/TerminalApp/TerminalPage.idl | 1 - src/cascadia/TerminalApp/TerminalWindow.h | 1 - src/cascadia/TerminalApp/TerminalWindow.idl | 1 - src/cascadia/WindowsTerminal/AppHost.cpp | 12 ------------ src/cascadia/WindowsTerminal/AppHost.h | 3 --- 7 files changed, 1 insertion(+), 23 deletions(-) diff --git a/src/cascadia/TerminalApp/TerminalPage.cpp b/src/cascadia/TerminalApp/TerminalPage.cpp index 82511fb8394..dc6961a23c3 100644 --- a/src/cascadia/TerminalApp/TerminalPage.cpp +++ b/src/cascadia/TerminalApp/TerminalPage.cpp @@ -3607,7 +3607,6 @@ namespace winrt::TerminalApp::implementation AlwaysOnTopChanged.raise(*this, nullptr); _showTabsFullscreen = _settings.GlobalSettings().ShowTabsFullscreen(); - ShowTabsFullscreenChanged.raise(*this, nullptr); // Settings AllowDependentAnimations will affect whether animations are // enabled application-wide, so we don't need to check it each time we @@ -4046,8 +4045,7 @@ namespace winrt::TerminalApp::implementation } // Method Description: - // - Updates the visibility of the tab row when in fullscreen state and - // raises the ShowTabsFullscreenChanged event. + // - Updates the visibility of the tab row when in fullscreen state. void TerminalPage::SetShowTabsFullscreen(bool newShowTabsFullscreen) { if (_showTabsFullscreen == newShowTabsFullscreen) @@ -4063,7 +4061,6 @@ namespace winrt::TerminalApp::implementation { _UpdateTabView(); } - ShowTabsFullscreenChanged.raise(*this, nullptr); } void TerminalPage::SetFullscreen(bool newFullscreen) diff --git a/src/cascadia/TerminalApp/TerminalPage.h b/src/cascadia/TerminalApp/TerminalPage.h index 49f6fe9dab2..8abbd2187b7 100644 --- a/src/cascadia/TerminalApp/TerminalPage.h +++ b/src/cascadia/TerminalApp/TerminalPage.h @@ -191,7 +191,6 @@ namespace winrt::TerminalApp::implementation til::typed_event FullscreenChanged; til::typed_event ChangeMaximizeRequested; til::typed_event AlwaysOnTopChanged; - til::typed_event ShowTabsFullscreenChanged; til::typed_event RaiseVisualBell; til::typed_event SetTaskbarProgress; til::typed_event Initialized; diff --git a/src/cascadia/TerminalApp/TerminalPage.idl b/src/cascadia/TerminalApp/TerminalPage.idl index a2ee01e56e6..56d30eb3d6d 100644 --- a/src/cascadia/TerminalApp/TerminalPage.idl +++ b/src/cascadia/TerminalApp/TerminalPage.idl @@ -95,7 +95,6 @@ namespace TerminalApp event Windows.Foundation.TypedEventHandler FocusModeChanged; event Windows.Foundation.TypedEventHandler FullscreenChanged; event Windows.Foundation.TypedEventHandler AlwaysOnTopChanged; - event Windows.Foundation.TypedEventHandler ShowTabsFullscreenChanged; event Windows.Foundation.TypedEventHandler Initialized; event Windows.Foundation.TypedEventHandler SetTaskbarProgress; event Windows.Foundation.TypedEventHandler IdentifyWindowsRequested; diff --git a/src/cascadia/TerminalApp/TerminalWindow.h b/src/cascadia/TerminalApp/TerminalWindow.h index 05f47f87477..695dea305d0 100644 --- a/src/cascadia/TerminalApp/TerminalWindow.h +++ b/src/cascadia/TerminalApp/TerminalWindow.h @@ -222,7 +222,6 @@ namespace winrt::TerminalApp::implementation FORWARDED_TYPED_EVENT(FullscreenChanged, winrt::Windows::Foundation::IInspectable, winrt::Windows::Foundation::IInspectable, _root, FullscreenChanged); FORWARDED_TYPED_EVENT(ChangeMaximizeRequested, winrt::Windows::Foundation::IInspectable, winrt::Windows::Foundation::IInspectable, _root, ChangeMaximizeRequested); FORWARDED_TYPED_EVENT(AlwaysOnTopChanged, winrt::Windows::Foundation::IInspectable, winrt::Windows::Foundation::IInspectable, _root, AlwaysOnTopChanged); - FORWARDED_TYPED_EVENT(ShowTabsFullscreenChanged, winrt::Windows::Foundation::IInspectable, winrt::Windows::Foundation::IInspectable, _root, ShowTabsFullscreenChanged); FORWARDED_TYPED_EVENT(RaiseVisualBell, winrt::Windows::Foundation::IInspectable, winrt::Windows::Foundation::IInspectable, _root, RaiseVisualBell); FORWARDED_TYPED_EVENT(SetTaskbarProgress, winrt::Windows::Foundation::IInspectable, winrt::Windows::Foundation::IInspectable, _root, SetTaskbarProgress); FORWARDED_TYPED_EVENT(IdentifyWindowsRequested, Windows::Foundation::IInspectable, Windows::Foundation::IInspectable, _root, IdentifyWindowsRequested); diff --git a/src/cascadia/TerminalApp/TerminalWindow.idl b/src/cascadia/TerminalApp/TerminalWindow.idl index 836d3eb4973..c04027a4f8e 100644 --- a/src/cascadia/TerminalApp/TerminalWindow.idl +++ b/src/cascadia/TerminalApp/TerminalWindow.idl @@ -123,7 +123,6 @@ namespace TerminalApp event Windows.Foundation.TypedEventHandler FullscreenChanged; event Windows.Foundation.TypedEventHandler ChangeMaximizeRequested; event Windows.Foundation.TypedEventHandler AlwaysOnTopChanged; - event Windows.Foundation.TypedEventHandler ShowTabsFullscreenChanged; event Windows.Foundation.TypedEventHandler RaiseVisualBell; event Windows.Foundation.TypedEventHandler SetTaskbarProgress; event Windows.Foundation.TypedEventHandler IdentifyWindowsRequested; diff --git a/src/cascadia/WindowsTerminal/AppHost.cpp b/src/cascadia/WindowsTerminal/AppHost.cpp index 46bc576c6e4..43eb3cbd0f2 100644 --- a/src/cascadia/WindowsTerminal/AppHost.cpp +++ b/src/cascadia/WindowsTerminal/AppHost.cpp @@ -338,7 +338,6 @@ void AppHost::Initialize() _revokers.FullscreenChanged = _windowLogic.FullscreenChanged(winrt::auto_revoke, { this, &AppHost::_FullscreenChanged }); _revokers.FocusModeChanged = _windowLogic.FocusModeChanged(winrt::auto_revoke, { this, &AppHost::_FocusModeChanged }); _revokers.AlwaysOnTopChanged = _windowLogic.AlwaysOnTopChanged(winrt::auto_revoke, { this, &AppHost::_AlwaysOnTopChanged }); - _revokers.ShowTabsFullscreenChanged = _windowLogic.ShowTabsFullscreenChanged(winrt::auto_revoke, { this, &AppHost::_ShowTabsFullscreenChanged }); _revokers.RaiseVisualBell = _windowLogic.RaiseVisualBell(winrt::auto_revoke, { this, &AppHost::_RaiseVisualBell }); _revokers.SystemMenuChangeRequested = _windowLogic.SystemMenuChangeRequested(winrt::auto_revoke, { this, &AppHost::_SystemMenuChangeRequested }); _revokers.ChangeMaximizeRequested = _windowLogic.ChangeMaximizeRequested(winrt::auto_revoke, { this, &AppHost::_ChangeMaximizeRequested }); @@ -851,17 +850,6 @@ void AppHost::_AlwaysOnTopChanged(const winrt::Windows::Foundation::IInspectable _window->SetAlwaysOnTop(_windowLogic.AlwaysOnTop()); } -void AppHost::_ShowTabsFullscreenChanged(const winrt::Windows::Foundation::IInspectable&, - const winrt::Windows::Foundation::IInspectable&) -{ - if (_window == nullptr) - { - return; - } - - _window->SetShowTabsFullscreen(_windowLogic.ShowTabsFullscreen()); -} - // Method Description // - Called when the app wants to flash the taskbar, indicating to the user that // something needs their attention diff --git a/src/cascadia/WindowsTerminal/AppHost.h b/src/cascadia/WindowsTerminal/AppHost.h index b85352d604e..470052069c4 100644 --- a/src/cascadia/WindowsTerminal/AppHost.h +++ b/src/cascadia/WindowsTerminal/AppHost.h @@ -85,8 +85,6 @@ class AppHost : public std::enable_shared_from_this const winrt::Windows::Foundation::IInspectable& arg); void _AlwaysOnTopChanged(const winrt::Windows::Foundation::IInspectable& sender, const winrt::Windows::Foundation::IInspectable& arg); - void _ShowTabsFullscreenChanged(const winrt::Windows::Foundation::IInspectable& sender, - const winrt::Windows::Foundation::IInspectable& arg); safe_void_coroutine _WindowInitializedHandler(const winrt::Windows::Foundation::IInspectable& sender, const winrt::Windows::Foundation::IInspectable& arg); @@ -190,7 +188,6 @@ class AppHost : public std::enable_shared_from_this winrt::TerminalApp::TerminalWindow::FullscreenChanged_revoker FullscreenChanged; winrt::TerminalApp::TerminalWindow::FocusModeChanged_revoker FocusModeChanged; winrt::TerminalApp::TerminalWindow::AlwaysOnTopChanged_revoker AlwaysOnTopChanged; - winrt::TerminalApp::TerminalWindow::ShowTabsFullscreenChanged_revoker ShowTabsFullscreenChanged; winrt::TerminalApp::TerminalWindow::RaiseVisualBell_revoker RaiseVisualBell; winrt::TerminalApp::TerminalWindow::SystemMenuChangeRequested_revoker SystemMenuChangeRequested; winrt::TerminalApp::TerminalWindow::ChangeMaximizeRequested_revoker ChangeMaximizeRequested; From f790bc400ba0839ca505498a87a5a1d29c82cfc3 Mon Sep 17 00:00:00 2001 From: geekjosh Date: Sat, 16 Nov 2024 16:20:58 +0000 Subject: [PATCH 08/13] Fixed resources file formatting --- .../Resources/en-US/Resources.resw | 1074 ++++++++--------- 1 file changed, 537 insertions(+), 537 deletions(-) diff --git a/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw b/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw index f8834188f62..32b62e97d7e 100644 --- a/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw +++ b/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw @@ -1,6 +1,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Create New Button - + New empty profile Button label that creates a new profile with default settings. - + Duplicate a profile This is the header for a control that lets the user duplicate one of their existing profiles. - + Duplicate Button - + Duplicate Button label that duplicates the selected profile and navigates to the duplicate's page. - + This color scheme is part of the built-in settings or an installed extension - + To make changes to this color scheme, you must make a copy of it. - + Make a copy This is a call to action; the user can click the button to make a copy of the current color scheme. - + Set color scheme as default This is the header for a control that allows the user to set the currently selected color scheme as their default. - + Apply this color scheme to all your profiles, by default. Individual profiles can still select their own color schemes. A description explaining how this control changes the user's default color scheme. - + Rename color scheme This is the header for a control that allows the user to rename the currently selected color scheme. - + Background This is the header for a control that lets the user select the background color for text displayed on the screen. - + Black This is the header for a control that lets the user select the black color for text displayed on the screen. - + Blue This is the header for a control that lets the user select the blue color for text displayed on the screen. - + Bright black This is the header for a control that lets the user select the bright black color for text displayed on the screen. - + Bright blue This is the header for a control that lets the user select the bright blue color for text displayed on the screen. - + Bright cyan This is the header for a control that lets the user select the bright cyan color for text displayed on the screen. - + Bright green This is the header for a control that lets the user select the bright green color for text displayed on the screen. - + Bright purple This is the header for a control that lets the user select the bright purple color for text displayed on the screen. - + Bright red This is the header for a control that lets the user select the bright red color for text displayed on the screen. - + Bright white This is the header for a control that lets the user select the bright white color for text displayed on the screen. - + Bright yellow This is the header for a control that lets the user select the bright yellow color for text displayed on the screen. - + Cursor color This is the header for a control that lets the user select the text cursor's color displayed on the screen. - + Cyan This is the header for a control that lets the user select the cyan color for text displayed on the screen. - + Foreground This is the header for a control that lets the user select the foreground color for text displayed on the screen. - + Green This is the header for a control that lets the user select the green color for text displayed on the screen. - + Purple This is the header for a control that lets the user select the purple color for text displayed on the screen. - + Selection background This is the header for a control that lets the user select the background color for selected text displayed on the screen. - + Red This is the header for a control that lets the user select the red color for text displayed on the screen. - + White This is the header for a control that lets the user select the white color for text displayed on the screen. - + Yellow This is the header for a control that lets the user select the yellow color for text displayed on the screen. - + Language (requires relaunch) The header for a control allowing users to choose the app's language. - + Selects a display language for the application. This will override your default Windows interface language. A description explaining how this control changes the app's language. {Locked="Windows"} - + Default The app contains a control allowing users to choose the app's language. If this value is chosen, the language preference list of the system settings is used instead. - + Default IME input mode The "input scope" of an IME tells it what type of characters should be available for input. A Chinese IME for instance may show English letters instead of Chinese ones. It's a technical term. We're using "input mode" instead of "input scope" to make it easier to understand for users. - + Informs the IME what language to use by default. For languages that rely on an IME and don't use Latin characters by default, this setting can be used to force English input on startup. - + Default - + Alphanumeric Half-Width (English) - + Always show tabs Header for a control to toggle if the app should always show the tabs (similar to a website browser). - + When disabled, the tab bar will appear when a new tab is created. Cannot be disabled while "Hide the title bar" is On. A description for what the "always show tabs" setting does. Presented near "Globals_AlwaysShowTabs.Header". This setting cannot be disabled while "Globals_ShowTitlebar.Header" is enabled. - + Position of newly created tabs Header for a control to select position of newly created tabs. - + Specifies where new tabs appear in the tab row. A description for what the "Position of newly created tabs" setting does. - + After the last tab An option to choose from for the "Position of newly created tabs" setting. When selected new tab appears after the last tab. - + After the current tab An option to choose from for the "Position of newly created tabs" setting. When selected new tab appears after the current tab. - + Automatically copy selection to clipboard Header for a control to toggle whether selected text should be copied to the clipboard automatically, or not. - + Automatically detect URLs and make them clickable Header for a control to toggle whether the terminal should automatically detect URLs and make them clickable, or not. - + Default URL to use for the "Search web" action Header for a control to set the query URL when using the "search web" action. - + The placeholder "%s" will replaced with the search query. {Locked="%s"} Additional text presented near "Globals_SearchWebDefaultQueryUrl.Header". - + Remove trailing white-space in rectangular selection Header for a control to toggle whether a text selected with block selection should be trimmed of white spaces when copied to the clipboard, or not. - + Remove trailing white-space when pasting Header for a control to toggle whether pasted text should be trimmed of white spaces, or not. - + Below are the currently bound keys, which can be modified by editing the JSON settings file. A disclaimer located at the top of the actions page that presents the list of keybindings. - + Default profile Header for a control to select your default profile from the list of profiles you've created. - + Profile that opens when clicking the '+' icon or by typing the new tab key binding. A description for what the default profile is and when it's used. - + Default terminal application Header for a drop down that permits the user to select which installed Terminal application will launch when command line tools like CMD are run from the Windows Explorer run box or start menu or anywhere else that they do not already have a graphical window assigned. - + The terminal application that launches when a command-line application is run without an existing session, like from the Start Menu or Run dialog. A description to clarify that the dropdown choice for default terminal will tell the operating system which Terminal application (Windows Terminal, the preview build, the legacy inbox window, or a 3rd party one) to use when starting a command line tool like CMD or Powershell that does not already have a window. - + Graphics API This text is shown next to a list of choices. - + Direct3D 11 provides a more performant and feature-rich experience, whereas Direct2D is more stable. The default option "Automatic" will pick the API that best fits your graphics hardware. If you experience significant issues, consider using Direct2D. - + Automatic The default choice between multiple graphics APIs. - + Direct2D - + Direct3D 11 - + Disable partial Swap Chain invalidation "Swap Chain" is an official technical term by Microsoft. This text is shown next to a toggle. - + By default, the text renderer uses a FLIP_SEQUENTIAL Swap Chain and declares dirty rectangles via the Present1 API. When this setting is enabled, a FLIP_DISCARD Swap Chain will be used instead, and no dirty rectangles will be declared. Whether one or the other is better depends on your hardware and various other factors. {Locked="Present1","FLIP_DISCARD","FLIP_SEQUENTIAL"} - + Use software rendering (WARP) {Locked="WARP"} WARP is the "Windows Advanced Rasterization Platform". This text is shown next to a toggle. - + When enabled, the terminal will use a software rasterizer (WARP). This setting should be left disabled under almost all circumstances. {Locked="WARP"} WARP is the "Windows Advanced Rasterization Platform". - + Text measurement mode This text is shown next to a list of choices. - + This changes the way incoming text is grouped into cells. The "Grapheme clusters" option is the most modern and Unicode-correct way to do so, while "wcswidth" is a common approach on UNIX, and "Windows Console" replicates the way it used to work on Windows. Changing this setting requires a restart of Windows Terminal and it only applies to applications launched from within it. - + Grapheme clusters The default choice between multiple graphics APIs. - + wcswidth {Locked="wcswidth"} - + Windows Console - + Columns Header for a control to choose the number of columns in the terminal's text grid. - + Rows Header for a control to choose the number of rows in the terminal's text grid. - + Initial Columns Name for a control to choose the number of columns in the terminal's text grid. - + Initial Rows Name for a control to choose the number of rows in the terminal's text grid. - + X position Header for a control to choose the X coordinate of the terminal's starting position. - + Y position Header for a control to choose the Y coordinate of the terminal's starting position. - + X position Name for a control to choose the X coordinate of the terminal's starting position. - + Enter the value for the x-coordinate. Tooltip for the control that allows the user to choose the X coordinate of the terminal's starting position. - + X The string to be displayed when there is no current value in the x-coordinate number box. - + Y position Name for a control to choose the Y coordinate of the terminal's starting position. - + Enter the value for the y-coordinate. Tooltip for the control that allows the user to choose the Y coordinate of the terminal's starting position. - + Y The string to be displayed when there is no current value in the y-coordinate number box. - + Let Windows decide A checkbox for the "launch position" setting. Toggling this control sets the launch position to whatever the Windows operating system decides. - + If enabled, use the system default launch position. A description for what the "default launch position" checkbox does. Presented near "Globals_DefaultLaunchPositionCheckbox". - + When Terminal starts Header for a control to select how the terminal should load its first window. - + What should be shown when the first terminal is created. - + Open a tab with the default profile An option to choose from for the "First window preference" setting. Open the default profile. - + Open windows from a previous session An option to choose from for the "First window preference" setting. Reopen the layouts from the last session. - + Launch mode Header for a control to select what mode to launch the terminal in. - + How the terminal will appear on launch. Focus will hide the tabs and title bar. 'Focus' must match <Globals_LaunchModeFocus.Content>. - + Launch parameters Header for a set of settings that determine how terminal launches. These settings include the launch mode, launch position and whether the terminal should center itself on launch. - + Settings that control how the terminal launches A description for what the "launch parameters" expander contains. Presented near "Globals_LaunchParameters.Header". - + Launch mode Header for a control to select what mode to launch the terminal in. - + How the terminal will appear on launch. Focus will hide the tabs and title bar. 'Focus' must match <Globals_LaunchModeFocus.Content>. - + Default An option to choose from for the "launch mode" setting. Default option. - + Full screen An option to choose from for the "launch mode" setting. Opens the app in a full screen state. - + Maximized An option to choose from for the "launch mode" setting. Opens the app maximized (covers the whole screen). - + New instance behavior Header for a control to select how new app instances are handled. - + Controls how new terminal instances attach to existing windows. A description for what the "windowing behavior" setting does. Presented near "Globals_WindowingBehavior.Header". - + Create a new window An option to choose from for the "windowing behavior" setting. When selected, new instances create a new window. - + Attach to the most recently used window An option to choose from for the "windowing behavior" setting. When selected, new instances open in the most recently used window. - + Attach to the most recently used window on this desktop An option to choose from for the "windowing behavior" setting. When selected, new instances open in the most recently used window on this virtual desktop. - + Hide the title bar (requires relaunch) Header for a control to toggle whether the title bar should be shown or not. Changing this setting requires the user to relaunch the app. - + When disabled, the title bar will appear above the tabs. A description for what the "show titlebar" setting does. Presented near "Globals_ShowTitlebar.Header". - + Use acrylic material in the tab row Header for a control to toggle whether "acrylic material" is used. "Acrylic material" is a Microsoft-specific term: https://docs.microsoft.com/en-us/windows/apps/design/style/acrylic - + Use active terminal title as application title Header for a control to toggle whether the terminal's title is shown as the application title, or not. - + When disabled, the title bar will be 'Terminal'. A description for what the "show title in titlebar" setting does. Presented near "Globals_ShowTitleInTitlebar.Header".{Locked="Windows"} - + Snap window resizing to character grid Header for a control to toggle whether the terminal snaps the window to the character grid when resizing, or not. - + When disabled, the window will resize smoothly. A description for what the "snap to grid on resize" setting does. Presented near "Globals_SnapToGridOnResize.Header". - + Launch on machine startup Header for a control to toggle whether the app should launch when the user's machine starts up, or not. - + Automatically launch Terminal when you log in to Windows. A description for what the "start on user login" setting does. Presented near "Globals_StartOnUserLogin.Header". {Locked="Windows"} - + Centered Shorthand, explanatory text displayed when the user has enabled the feature indicated by "Globals_CenterOnLaunch.Text". - + Center on launch Header for a control to toggle whether the app should launch in the center of the screen, or not. - + When enabled, the window will be placed in the center of the screen when launched. A description for what the "center on launch" setting does. Presented near "Globals_CenterOnLaunch.Header". - + Always on top Header for a control to toggle if the app will always be presented on top of other windows, or is treated normally (when disabled). - + Use the legacy input encoding Header for a control to toggle legacy input encoding for the terminal. - + Allow DECRQCRA (Request Checksum of Rectangular Area) {Locked="DECRQCRA"}{Locked="Request Checksum of Rectangular Area"}Header for a control to toggle support for the DECRQCRA control sequence. - + Allow Windows Terminal to run in the background Header for a control to toggle support for Windows Terminal to run in the background. - + Force each window to run in its own process Header for a control to toggle making each window be its own process. - + Enable debugging features Header for a control to toggle debug features. - + Terminal will always be the topmost window on the desktop. A description for what the "always on top" setting does. Presented near "Globals_AlwaysOnTop.Header". - + Certain keyboard input in some applications may stop working properly when this setting is enabled. Additional description for what the "force vt input" setting does. Presented near "Globals_ForceVTInput.Header". - + This allows actions such as Global Summon and Quake Mode actions to work even when no windows are open. Additional description for what the "allow headless" setting does. Presented near "Globals_AllowHeadless.Header". - + Certain features will not work properly, including—but not limited to—global hotkeys, tab drag and drop, and wt.exe window targeting. {Locked="wt.exe"} Additional description for what the "isolated mode" setting does. Presented near "Globals_IsolatedMode.Header". - + Tab width mode Header for a control to choose how wide the tabs are. - + Compact will shrink inactive tabs to the size of the icon. A description for what the "tab width mode" setting does. Presented near "Globals_TabWidthMode.Header". 'Compact' must match the value for <Globals_TabWidthModeCompact.Content>. - + Compact An option to choose from for the "tab width mode" setting. When selected, unselected tabs collapse to show only their icon. The selected tab adjusts to display the content within the tab. - + Equal An option to choose from for the "tab width mode" setting. When selected, each tab has the same width. - + Title length An option to choose from for the "tab width mode" setting. When selected, each tab adjusts its width to the content within the tab. - + Application Theme Header for a control to choose the theme colors used in the app. - + Dark An option to choose from for the "theme" setting. When selected, the app is in dark theme and darker colors are used throughout the app. - + Use Windows theme An option to choose from for the "theme" setting. When selected, the app uses the theme selected in the Windows operating system. - + Light An option to choose from for the "theme" setting. When selected, the app is in light theme and lighter colors are used throughout the app. - + Dark (Legacy) An option to choose from for the "theme" setting. When selected, the app is in dark theme and darker colors are used throughout the app. This is an older version of the "dark" theme - + Use Windows theme (Legacy) An option to choose from for the "theme" setting. When selected, the app uses the theme selected in the Windows operating system. This is an older version of the "Use Windows theme" theme - + Light (Legacy) An option to choose from for the "theme" setting. When selected, the app is in light theme and lighter colors are used throughout the app. This is an older version of the "light" theme - + Word delimiters Header for a control to determine what delimiters to use to identify separate words during word selection. - + These symbols will be used when you double-click text in the terminal or activate "Mark mode". A description for what the "word delimiters" setting does. Presented near "Globals_WordDelimiters.Header". "Mark" is used in the sense of "choosing something to interact with." - + Appearance Header for the "appearance" menu item. This navigates to a page that lets you see and modify settings related to the app's appearance. - + Color schemes Header for the "color schemes" menu item. This navigates to a page that lets you see and modify schemes of colors that can be used by the terminal. - + Interaction Header for the "interaction" menu item. This navigates to a page that lets you see and modify settings related to the user's mouse and touch interactions with the app. - + Compatibility Header for the "compatibility" menu item. This navigates to a page that lets you see and modify settings related to compatibility with command line scenarios. - + Startup Header for the "startup" menu item. This navigates to a page that lets you see and modify settings related to the app's launch experience (i.e. screen position, mode, etc.) - + Open JSON file Header for a menu item. This opens the JSON file that is used to log the app's settings. - + Defaults Header for the "defaults" menu item. This navigates to a page that lets you see and modify settings that affect profiles. This is the lowest layer of profile settings that all other profile settings are based on. If a profile doesn't define a setting, this page is responsible for figuring out what that setting is supposed to be. - + Rendering Header for the "rendering" menu item. This navigates to a page that lets you see and modify settings related to the app's rendering of text in the terminal. - + Actions Header for the "actions" menu item. This navigates to a page that lets you see and modify commands, key bindings, and actions that can be done in the app. - + Background opacity Name for a control to determine the level of opacity for the background of the control. The user can choose to make the background of the app more or less opaque. - + Background opacity Header for a control to determine the level of opacity for the background of the control. The user can choose to make the background of the app more or less opaque. - + Sets the opacity of the window. A description for what the "opacity" setting does. Presented near "Profile_Opacity.Header". - + Advanced Header for a sub-page of profile settings focused on more advanced scenarios. - + Terminal Emulation Header for a sub-page of profile settings focused on customizing the capabilities of the terminal. - + AltGr aliasing Header for a control to toggle whether the app treats ctrl+alt as the AltGr (also known as the Alt Graph) modifier key found on keyboards. {Locked="AltGr"} - + By default, Windows treats Ctrl+Alt as an alias for AltGr. This setting will override Windows' default behavior. A description for what the "AltGr aliasing" setting does. Presented near "Profile_AltGrAliasing.Header". {Locked="Windows"} - + Text antialiasing Name for a control to select the graphical anti-aliasing format of text. - + Text antialiasing Header for a control to select the graphical anti-aliasing format of text. - + Controls how text is antialiased in the renderer. A description for what the "antialiasing mode" setting does. Presented near "Profile_AntialiasingMode.Header". - + Aliased An option to choose from for the "text antialiasing" setting. When selected, the app's text renderer does not use antialiasing techniques. - + ClearType An option to choose from for the "text antialiasing" setting. When selected, the app's text renderer uses a "ClearType" antialiasing technique. {Locked="ClearType"} - + Grayscale An option to choose from for the "text antialiasing" setting. When selected, the app's text renderer uses a grayscale antialiasing technique. - + Appearance Header for a sub-page of profile settings focused on customizing the appearance of the profile. - + Background image path Name for a control to determine the image presented on the background of the app. - + Background image path Name for a control to determine the image presented on the background of the app. - + Background image path Header for a control to determine the image presented on the background of the app. - + File location of the image used in the background of the window. A description for what the "background image path" setting does. Presented near "Profile_BackgroundImage". - + Background image alignment Name for a control to choose the visual alignment of the image presented on the background of the app. - + Background image alignment Header for a control to choose the visual alignment of the image presented on the background of the app. - + Sets how the background image aligns to the boundaries of the window. A description for what the "background image alignment" setting does. Presented near "Profile_BackgroundImageAlignment". - + Bottom This is the formal name for a visual alignment. - + Bottom left This is the formal name for a visual alignment. - + Bottom right This is the formal name for a visual alignment. - + Center This is the formal name for a visual alignment. - + Left This is the formal name for a visual alignment. - + Right This is the formal name for a visual alignment. - + Top This is the formal name for a visual alignment. - + Top left This is the formal name for a visual alignment. - + Top right This is the formal name for a visual alignment. - + Browse... Button label that opens a file picker in a new window. The "..." is standard to mean it will open a new window. - + Add new font axis - + Add new Button label that adds a new font axis for the current font. - + Add new font feature - + Add new Button label that adds a new font feature for the current font. - + Background image opacity Name for a control to choose the opacity of the image presented on the background of the app. - + Background image opacity Header for a control to choose the opacity of the image presented on the background of the app. - + Sets the opacity of the background image. A description for what the "background image opacity" setting does. Presented near "Profile_BackgroundImageOpacity". - + Background image stretch mode Name for a control to choose the stretch mode of the image presented on the background of the app. Stretch mode is how the image is resized to fill its allocated space. - + Background image stretch mode Header for a control to choose the stretch mode of the image presented on the background of the app. Stretch mode is how the image is resized to fill its allocated space. - + Sets how the background image is resized to fill the window. A description for what the "background image stretch mode" setting does. Presented near "Profile_BackgroundImageStretchMode". - + Fill An option to choose from for the "background image stretch mode" setting. When selected, the image is resized to fill the destination dimensions. The aspect ratio is not preserved. - + None An option to choose from for the "background image stretch mode" setting. When selected, the image preserves its original size. - + Uniform An option to choose from for the "background image stretch mode" setting. When selected,the image is resized to fit in the destination dimensions while it preserves its native aspect ratio. - + Uniform to fill An option to choose from for the "background image stretch mode" setting. When selected, the content is resized to fill the destination dimensions while it preserves its native aspect ratio. But if the aspect ratio of the destination differs, the image is clipped to fit in the space (to fill the space) - + Profile termination behavior Name for a control to select the behavior of a terminal session (a profile) when it closes. - + Profile termination behavior Header for a control to select the behavior of a terminal session (a profile) when it closes. - + Close when process exits, fails, or crashes An option to choose from for the "profile termination behavior" (or "close on exit") setting. When selected, the terminal closes if the process exits in a controlled (exit) or uncontrolled (fail or crash) scenario. - + Close only when process exits successfully An option to choose from for the "profile termination behavior" (or "close on exit") setting. When selected, the terminal closes if the process exits in a controlled scenario successfully. - + Never close automatically An option to choose from for the "profile termination behavior" (or "close on exit") setting. When selected, the terminal never closes, even if the process exits in a controlled or uncontrolled scenario. The user would have to manually close the terminal. - + Automatic An option to choose from for the "profile termination behavior" (or "close on exit") setting. When selected, the terminal closes if the process exits in a controlled scenario successfully and the process was launched by Windows Terminal. - + Color scheme Header for a control to select the scheme (or set) of colors used in the session. This is selected from a list of options managed by the user. - + Command line Name for a control to determine commandline executable (i.e. a .exe file) to run when a terminal session of this profile is launched. - + Command line Header for a control to determine commandline executable (i.e. a .exe file) to run when a terminal session of this profile is launched. - + Command line Name for a control to determine commandline executable (i.e. a .exe file) to run when a terminal session of this profile is launched. - + Executable used in the profile. A description for what the "command line" setting does. Presented near "Profile_Commandline". - + Browse... Button label that opens a file picker in a new window. The "..." is standard to mean it will open a new window. - + Cursor height Header for a control to determine the height of the text cursor. - + Sets the percentage height of the cursor starting from the bottom. Only works with the vintage cursor shape. A description for what the "cursor height" setting does. Presented near "Profile_CursorHeight". - + Cursor shape Name for a control to select the shape of the text cursor. - + Cursor shape Header for a control to select the shape of the text cursor. - + Never An option to choose from for the "adjust indistinguishable colors" setting. When selected, we will never adjust the text colors. - + Only for colors in the color scheme An option to choose from for the "adjust indistinguishable colors" setting. When selected, we will adjust the text colors for visibility only when the colors are part of this profile's color scheme's color table. - + Always An option to choose from for the "adjust indistinguishable colors" setting. When selected, we will adjust the text colors for visibility. - + Bar ( ┃ ) {Locked="┃"} An option to choose from for the "cursor shape" setting. When selected, the cursor will look like a vertical bar. The character in the parentheses is used to show what it looks like. - + Empty box ( ▯ ) {Locked="▯"} An option to choose from for the "cursor shape" setting. When selected, the cursor will look like an empty box. The character in the parentheses is used to show what it looks like. - + Filled box ( █ ) {Locked="█"} An option to choose from for the "cursor shape" setting. When selected, the cursor will look like a filled box. The character in the parentheses is used to show what it looks like. - + Underscore ( ▁ ) {Locked="▁"} An option to choose from for the "cursor shape" setting. When selected, the cursor will look like an underscore. The character in the parentheses is used to show what it looks like. - + Vintage ( ▃ ) {Locked="▃"} An option to choose from for the "cursor shape" setting. When selected, the cursor will look like a thick underscore. This is the vintage and classic look of a cursor for terminals. The character in the parentheses is used to show what it looks like. - + Double underscore ( ‗ ) {Locked="‗"} An option to choose from for the "cursor shape" setting. When selected, the cursor will look like a stacked set of two underscores. The character in the parentheses is used to show what it looks like. - + Font face Header for a control to select the font for text in the app. - + Font face Name for a control to select the font for text in the app. - + You can use multiple fonts by separating them with an ASCII comma. - + Font size Header for a control to determine the size of the text in the app. - + Font size Name for a control to determine the size of the text in the app. - + Size of the font in points. A description for what the "font size" setting does. Presented near "Profile_FontSize". - + Line height Header for a control that sets the text line height. - + Cell width Header for a control that sets the text character width. - + Line height Header for a control that sets the text line height. - + Cell width Header for a control that sets the text character width. - + Override the line height of the terminal. Measured as a multiple of the font size. The default value depends on your font and is usually around 1.2. A description for what the "line height" setting does. Presented near "Profile_LineHeight". - + Override the cell width of the terminal. Measured as a multiple of the font size. The default value depends on your font and is usually around 0.6. A description for what the "cell width" setting does. Presented near "Profile_CellWidth". - + 1.2 "1.2" is a decimal number. - + 0.6 "0.6" is a decimal number. - + Builtin Glyphs The main label of a toggle. When enabled, certain characters (glyphs) are replaced with better looking ones. - + When enabled, the terminal draws custom glyphs for block element and box drawing characters instead of using the font. A longer description of the "Profile_EnableBuiltinGlyphs" toggle. "glyphs", "block element" and "box drawing characters" are technical terms from the Unicode specification. - + Full-color Emoji The main label of a toggle. When enabled, certain characters (emoji in this case) are displayed with multiple colors. - + When enabled, Emoji are displayed in full color. A longer description of the "Profile_EnableColorGlyphs" toggle. - + Font weight Name for a control to select the weight (i.e. bold, thin, etc.) of the text in the app. - + Font weight Name for a control to select the weight (i.e. bold, thin, etc.) of the text in the app. - + Font weight Header for a control to select the weight (i.e. bold, thin, etc.) of the text in the app. - + Sets the weight (lightness or heaviness of the strokes) for the given font. A description for what the "font weight" setting does. Presented near "Profile_FontWeight". - + Variable font axes Header for a control to allow editing the font axes. - + Add or remove font axes for the given font. A description for what the "font axes" setting does. Presented near "Profile_FontAxes". - + The selected font has no variable font axes. A description provided when the font axes setting is disabled. Presented near "Profile_FontAxes". - + Font features Header for a control to allow editing the font features. - + Add or remove font features for the given font. A description for what the "font features" setting does. Presented near "Profile_FontFeatures". - + The selected font has no font features. A description provided when the font features setting is disabled. Presented near "Profile_FontFeatures". - + General Header for a sub-page of profile settings focused on more general scenarios. - + Hide profile from dropdown Header for a control to toggle whether the profile is shown in a dropdown menu, or not. - + If enabled, the profile will not appear in the list of profiles. This can be used to hide default profiles and dynamically generated profiles, while leaving them in your settings file. A description for what the "hidden" setting does. Presented near "Profile_Hidden". - + Run this profile as Administrator Header for a control to toggle whether the profile should always open elevated (in an admin window) - + If enabled, the profile will open in an Admin terminal window automatically. If the current window is already running as admin, it will open in this window. A description for what the "elevate" setting does. Presented near "Profile_Elevate". - + History size Header for a control to determine how many lines of text can be saved in a session. In terminals, the "history" is the output generated within your session. - + History size Name for a control to determine how many lines of text can be saved in a session. In terminals, the "history" is the output generated within your session. - + The number of lines above the ones displayed in the window you can scroll back to. A description for what the "history size" setting does. Presented near "Profile_HistorySize". - + Icon Name for a control to determine what icon can be used to represent this profile. This is not necessarily a file path, but can be one. - + Icon Header for a control to determine what icon can be used to represent this profile. This is not necessarily a file path, but can be one. - + Icon Name for a control to determine what icon can be used to represent this profile. This is not necessarily a file path, but can be one. - + Emoji or image file location of the icon used in the profile. A description for what the "icon" setting does. Presented near "Profile_Icon". - + Browse... Button label that opens a file picker in a new window. The "..." is standard to mean it will open a new window. - + Padding Name for a control to determine the amount of space between text in a terminal and the edge of the window. - + Padding Header for a control to determine the amount of space between text in a terminal and the edge of the window. The space can be any combination of the top, bottom, left, and right side of the window. - + Sets the padding around the text within the window. A description for what the "padding" setting does. Presented near "Profile_Padding". - + Retro terminal effects Header for a control to toggle classic CRT display effects, which gives the terminal a retro look. - + Show retro-style terminal effects such as glowing text and scan lines. A description for what the "retro terminal effects" setting does. Presented near "Profile_RetroTerminalEffect". "Retro" is a common English prefix that suggests a nostalgic, dated appearance. - + Automatically adjust lightness of indistinguishable text Header for a control to toggle if we should adjust the foreground color's lightness to make it more visible when necessary, based on the background color. - + Automatically brightens or darkens text to make it more visible. Even when enabled, this adjustment will only occur when a combination of foreground and background colors would result in poor contrast. A description for what the "adjust indistinguishable colors" setting does. Presented near "Profile_AdjustIndistinguishableColors". - + Scrollbar visibility Name for a control to select the visibility of the scrollbar in a session. - + Scrollbar visibility Header for a control to select the visibility of the scrollbar in a session. - + Hidden An option to choose from for the "scrollbar visibility" setting. When selected, the scrollbar is hidden. - + Visible An option to choose from for the "scrollbar visibility" setting. When selected, the scrollbar is visible but may dynamically shrink. - + Always An option to choose from for the "scrollbar visibility" setting. When selected, the scrollbar is always visible. - + Scroll to input when typing Header for a control to toggle if keyboard input should automatically scroll to where the input was placed. - + Starting directory Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths. - + Starting directory Header for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths. - + Starting directory Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths. - + The directory the profile starts in when it is loaded. A description for what the "starting directory" setting does. Presented near "Profile_StartingDirectory". - + Browse... Button label that opens a file picker in a new window. The "..." is standard to mean it will open a new window. - + Use parent process directory A supplementary setting to the "starting directory" setting. "Parent" refers to the parent process of the current process. - + If enabled, this profile will spawn in the directory from which Terminal was launched. A description for what the supplementary "use parent process directory" setting does. Presented near "Profile_StartingDirectoryUseParentCheckbox". - + Hide icon A supplementary setting to the "icon" setting. - + If enabled, this profile will have no icon. A description for what the supplementary "Hide icon" setting does. Presented near "Profile_HideIconCheckbox". - + Suppress title changes Header for a control to toggle changes in the app title. - + Ignore application requests to change the title (OSC 2). A description for what the "suppress application title" setting does. Presented near "Profile_SuppressApplicationTitle". "OSC 2" is a technical term that is understood in the industry. {Locked="OSC 2"} - + Tab title Name for a control to determine the title of the tab. This is represented using a text box. - + Tab title Header for a control to determine the title of the tab. This is represented using a text box. - + Replaces the profile name as the title to pass to the shell on startup. A description for what the "tab title" setting does. Presented near "Profile_TabTitle". - + Unfocused appearance The header for the section where the unfocused appearance settings can be changed. - + Create Appearance Button label that adds an unfocused appearance for this profile. - + Delete Button label that deletes the unfocused appearance for this profile. - + Enable acrylic material Header for a control to toggle the use of acrylic material for the background. "Acrylic material" is a Microsoft-specific term: https://docs.microsoft.com/en-us/windows/apps/design/style/acrylic - + Applies a translucent texture to the background of the window. A description for what the "Profile_UseAcrylic" setting does. - + Use desktop wallpaper A supplementary setting to the "background image" setting. When enabled, the OS desktop wallpaper is used as the background image. Presented near "Profile_BackgroundImage". - + Use the desktop wallpaper image as the background image for the terminal. A description for what the supplementary "use desktop image" setting does. Presented near "Profile_UseDesktopImage". - + Discard changes Text label for a destructive button that discards the changes made to the settings. - + Discard all unsaved settings. A description for what the "discard changes" button does. Presented near "Settings_ResetSettingsButton". - + Save Text label for the confirmation button that saves the changes made to the settings. - + ⚠ You have unsaved changes. {Locked="⚠"} A disclaimer that appears when the unsaved changes to the settings are present. - + Add a new profile Header for the "add new" menu item. This navigates to the page where users can add a new profile. - + Profiles Header for the "profiles" menu items. This acts as a divider to introduce profile-related menu items. - + Focus An option to choose from for the "launch mode" setting. Focus mode is a mode designed to help you focus. - + Maximized focus An option to choose from for the "launch mode" setting. Opens the app maximized and in focus mode. - + Maximized full screen An option to choose from for the "launch mode" setting. Opens the app maximized and in full screen. - + Full screen focus An option to choose from for the "launch mode" setting. Opens the app in full screen and in focus mode. - + Maximized full screen focus An option to choose from for the "launch mode" setting. Opens the app maximized in full screen and in focus mode. - + Bell notification style Name for a control to select the how the app notifies the user. "Bell" is the common term in terminals for the BEL character (like the metal device used to chime). - + Bell notification style Header for a control to select the how the app notifies the user. "Bell" is the common term in terminals for the BEL character (like the metal device used to chime). - + Controls what happens when the application emits a BEL character. A description for what the "bell style" setting does. Presented near "Profile_BellStyle".{Locked="BEL"} - + Launch this application with a new environment block "environment variables" are user-definable values that can affect the way running processes will behave on a computer - + When enabled, the Terminal will generate a new environment block when creating new tabs or panes with this profile. When disabled, the tab/pane will instead inherit the variables the Terminal was started with. A description for what the "Reload environment variables" setting does. Presented near "Profile_ReloadEnvVars". - + Display a menu on right-click This controls how a right-click behaves in the terminal - + When enabled, the Terminal will display a menu on right-click. When disabled, right-clicking will copy the selected text (or paste if there's no selection). A description for what the "Display a menu on right-click" setting does. Presented near "Profile_RightClickContextMenu". - + Display marks on the scrollbar "Marks" are small visual indicators that can help the user identify the position of useful info in the scrollbar - + When enabled, the Terminal will display marks in the scrollbar when searching for text, or when shell integration is enabled. A description for what the "Display marks on the scrollbar" setting does. Presented near "Profile_ShowMarks". - + Automatically mark prompts on pressing Enter "Enter" is the enter/return key on the keyboard. This will add a mark indicating the position of a shell prompt when the user presses enter. - + When enabled, the Terminal automatically add a mark indicating the position of the end of the command when you press enter. A description for what the "Automatically mark prompts on pressing Enter" setting does. Presented near "Profile_AutoMarkPrompts". - + Experimental: Reposition the cursor with mouse clicks This allows the user to move the text cursor just by clicking with the mouse. - + When enabled, clicking inside the prompt will move the cursor to that position. This requires shell integration to be enabled in your shell to work as expected. A description for what the "Reload environment variables" setting does. Presented near "Profile_RepositionCursorWithMouse". - + Audible An option to choose from for the "bell style" setting. When selected, an audible cue is used to notify the user. - + None An option to choose from for the "bell style" setting. When selected, notifications are silenced. - + Disable pane animations Header for a control to toggle animations on panes. "Enabled" value disables the animations. - + Black This is the formal name for a font weight. - + Bold This is the formal name for a font weight. - + Custom This is an entry that allows the user to select their own font weight value outside of the simplified list of options. - + Extra-Black This is the formal name for a font weight. - + Extra-Bold This is the formal name for a font weight. - + Extra-Light This is the formal name for a font weight. - + Light This is the formal name for a font weight. - + Medium This is the formal name for a font weight. - + Normal This is the formal name for a font weight. - + Semi-Bold This is the formal name for a font weight. - + Semi-Light This is the formal name for a font weight. - + Thin This is the formal name for a font weight. - + Required ligatures This is the formal name for a font feature. - + Localized forms This is the formal name for a font feature. - + Composition/decomposition This is the formal name for a font feature. - + Contextual alternates This is the formal name for a font feature. - + Standard ligatures This is the formal name for a font feature. - + Contextual ligatures This is the formal name for a font feature. - + Required variation alternates This is the formal name for a font feature. - + Kerning This is the formal name for a font feature. - + Mark positioning This is the formal name for a font feature. - + Mark to mark positioning This is the formal name for a font feature. - + Distance This is the formal name for a font feature. - + Access all alternates This is the formal name for a font feature. - + Case sensitive forms This is the formal name for a font feature. - + Denominator This is the formal name for a font feature. - + Terminal forms This is the formal name for a font feature. - + Fractions This is the formal name for a font feature. - + Initial forms This is the formal name for a font feature. - + Medial forms This is the formal name for a font feature. - + Numerator This is the formal name for a font feature. - + Ordinals This is the formal name for a font feature. - + Required contextual alternates This is the formal name for a font feature. - + Scientific inferiors This is the formal name for a font feature. - + Subscript This is the formal name for a font feature. - + Superscript This is the formal name for a font feature. - + Slashed zero This is the formal name for a font feature. - + Above-base mark positioning This is the formal name for a font feature. - + Launch size Header for a group of settings that control the size of the app. Presented near "Globals_InitialCols" and "Globals_InitialRows". - + The number of rows and columns displayed in the window upon first load. Measured in characters. A description for what the "rows" and "columns" settings do. Presented near "Globals_LaunchSize.Header". - + Launch position Header for a group of settings that control the launch position of the app. Presented near "Globals_InitialPosX" and "Globals_InitialPosY". - + The initial position of the terminal window upon startup. When launching as maximized, full screen, or with "Center on launch" enabled, this is used to target the monitor of interest. A description for what the "X position" and "Y position" settings do. Presented near "Globals_LaunchPosition.Header". - + All An option to choose from for the "bell style" setting. When selected, a combination of the other bell styles is used to notify the user. - + Visual (flash taskbar) - + Flash taskbar An option to choose from for the "bell style" setting. When selected, a visual notification is used to notify the user. In this case, the taskbar is flashed. - + Flash window An option to choose from for the "bell style" setting. When selected, a visual notification is used to notify the user. In this case, the window is flashed. - + Add new Button label that creates a new color scheme. - + Delete color scheme Button label that deletes the selected color scheme. - + Edit Button label that edits the currently selected color scheme. - + Delete Button label that deletes the selected color scheme. - + Name The name of the color scheme. Used as a label on the name control. - + The name of the color scheme. Supplementary text (tooltip) for the control used to select a color scheme that is under view. - + Delete profile Button label that deletes the current profile that is being viewed. - + The name of the profile that appears in the dropdown. A description for what the "name" setting does. Presented near "Profile_Name". - + Name Name for a control to determine the name of the profile. This is a text box. - + Name Header for a control to determine the name of the profile. This is a text box. - + Transparency Header for a group of settings related to transparency, including the acrylic material background of the app. - + Background image Header for a group of settings that control the image presented on the background of the app. Presented near "Profile_BackgroundImage" and other keys starting with "Profile_BackgroundImage". - + Cursor Header for a group of settings that control the appearance of the cursor. Presented near "Profile_CursorHeight" and other keys starting with "Profile_Cursor". - + Additional settings Header for the buttons that navigate to additional settings for the profile. - + Text Header for a group of settings that control the appearance of text in the app. - + Warnings Header for a group of settings that control the warnings in the app. - + Window Header for a group of settings that control the appearance of the window frame of the app. - + Open your settings.json file. Alt+Click to open your defaults.json file. {Locked="settings.json"}, {Locked="defaults.json"} - + Rename Text label for a button that can be used to begin the renaming process. - + This color scheme cannot be deleted or renamed because it is included by default. Disclaimer presented next to the delete button when it is disabled. - + Yes, delete color scheme Button label for positive confirmation of deleting a color scheme (presented with "ColorScheme_DeleteConfirmationMessage") - + Are you sure you want to delete this color scheme? A confirmation message displayed when the user intends to delete a color scheme. - + Accept rename Text label for a button that can be used to confirm a rename operation during the renaming process. - + Cancel rename Text label for a button that can be used to cancel a rename operation during the renaming process. - + Schemes defined here can be applied to your profiles under the "Appearances" section of the profile settings pages. A disclaimer presented at the top of a page. "Appearances" should match Profile_Appearance.Header. - + Settings defined here will apply to all profiles unless they are overridden by a profile's settings. A disclaimer presented at the top of a page. See "Nav_ProfileDefaults.Content" for a description on what the defaults layer does in the app. - + Yes, delete profile Button label for positive confirmation of deleting a profile (presented with "Profile_DeleteConfirmationMessage") - + Are you sure you want to delete this profile? A confirmation message displayed when the user intends to delete a profile. - + Save all unsaved settings. A description for what the "save" button does. Presented near "Settings_SaveSettingsButton". - + Tab switcher interface style Header for a control to choose how the tab switcher operates. - + Selects which interface will be used when you switch tabs using the keyboard. A description for what the "tab switcher mode" setting does. Presented near "Globals_TabSwitcherMode.Header". - + Separate window, in most recently used order An option to choose from for the "tab switcher mode" setting. The tab switcher overlay is shown in most recently used order. - + Separate window, in tab strip order An option to choose from for the "tab switcher mode" setting. The tab switcher overlay is shown in the order of the tabs at the top of the app. - + Traditional navigation, no separate window An option to choose from for the "tab switcher mode" setting. The tab switcher overlay is hidden and does not appear in a separate window. - + Text formats to copy to the clipboard Header for a control to select the format of copied text. - + Plain text only An option to choose from for the "copy formatting" setting. Store only plain text data. - + HTML An option to choose from for the "copy formatting" setting. Store only HTML data. - + RTF An option to choose from for the "copy formatting" setting. Store only RTF data. - + Both HTML and RTF An option to choose from for the "copy formatting" setting. Store both HTML and RTF data. - + Please choose a different name. An error message that appears when the user attempts to rename a color scheme to something invalid. This appears as the subtitle and provides guidance to fix the issue. - + This color scheme name is already in use. An error message that appears when the user attempts to rename a color scheme to something invalid. This appears as the title, and explains the issue. - + Automatically focus pane on mouse hover Header for a control to toggle the "focus follow mouse" setting. When enabled, hovering over a pane puts it in focus. - + Pane animations Header for a control to toggle animations on panes. "Enabled" value enables the animations. - + Always display an icon in the notification area Header for a control to toggle whether the notification icon should always be shown. - + Hide Terminal in the notification area when it is minimized Header for a control to toggle whether the terminal should hide itself in the notification area instead of the taskbar when minimized. - + Reset to inherited value. This button will remove a user's customization from a given setting, restoring it to the value that the profile inherited. This is a text label on a button. - + Terminal colors A header for a grouping of colors in the color scheme. These colors are used for basic parts of the terminal. - + System colors A header for a grouping of colors in the color scheme. These colors are used for functional parts of the terminal. - + Colors A header for the grouping of colors in the color scheme. - + Reset to value from: {} {} is replaced by the name of another profile or generator. This is a text label on a button that is dynamically generated and provides more context in the {}. - + Show all fonts A supplementary setting to the "font face" setting. Toggling this control updates the font face control to show all of the fonts installed. - + If enabled, show all installed fonts in the list above. Otherwise, only show the list of monospace fonts. A description for what the supplementary "show all fonts" setting does. Presented near "Profile_FontFaceShowAllFonts". - + Create Appearance Name for a control which creates an the unfocused appearance settings for this profile. Text must match that of "Profile_AddAppearanceButton.Text". - + Create an unfocused appearance for this profile. This will be the appearance of the profile when it is inactive. A description for what the create unfocused appearance button does. - + Delete Appearance Name for a control which deletes an the unfocused appearance settings for this profile. - + Delete the unfocused appearance for this profile. A description for what the delete unfocused appearance button does. - + Yes, delete key binding Button label that confirms deletion of a key binding entry. - + Are you sure you want to delete this key binding? Confirmation message displayed when the user attempts to delete a key binding entry. - + Invalid key chord. Please enter a valid key chord. Error message displayed when an invalid key chord is input by the user. - + Yes Button label that confirms the deletion of a conflicting key binding to allow the current key binding to be registered. - + The provided key chord is already being used by the following action: Error message displayed when a key chord that is already in use is input by the user. The name of the conflicting key chord is displayed after this message. - + Would you like to overwrite it? Confirmation message displayed when a key chord that is already in use is input by the user. This is intended to ask the user if they wish to delete the conflicting key binding, and assign the current key chord (or binding) instead. This is presented in the context of Actions_RenameConflictConfirmationMessage. The subject of this sentence is the object of that one. - + <unnamed command> {Locked="<"} {Locked=">"} The text shown when referring to a command that is unnamed. - + Accept Text label for a button that can be used to accept changes to a key binding entry. - + Cancel Text label for a button that can be used to cancel changes to a key binding entry - + Delete Text label for a button that can be used to delete a key binding entry. - + Edit Text label for a button that can be used to begin making changes to a key binding entry. - + Add new Button label that creates a new action on the actions page. - + Action Label for a control that sets the action of a key binding. - + Input your desired keyboard shortcut. Help text directing users how to use the "KeyChordListener" control. Pressing a keyboard shortcut will be recorded by this control. - + shortcut listener The control type for a control that awaits keyboard input and records it. - + Shortcut The label for a "key chord listener" control that sets the keys a key binding is bound to. - + Text Formatting Header for a control to how text is formatted - + Intense text style Name for a control to select how "intense" text is formatted (bold, bright, both or none) - + Intense text style Header for a control to select how "intense" text is formatted (bold, bright, both or none) - + None An option to choose from for the "intense text format" setting. When selected, "intense" text will not be rendered differently - + Bold font An option to choose from for the "intense text format" setting. When selected, "intense" text will be rendered as bold text - + Bright colors An option to choose from for the "intense text format" setting. When selected, "intense" text will be rendered in a brighter color - + Bold font with bright colors An option to choose from for the "intense text format" setting. When selected, "intense" text will be rendered as both bold text and in a brighter color - + Automatically hide window Header for a control to toggle the "Automatically hide window" setting. If enabled, the terminal will be hidden as soon as you switch to another window. - + If enabled, the terminal will be hidden as soon as you switch to another window. A description for what the "Automatically hide window" setting does. - + This color scheme cannot be deleted because it is included by default. Disclaimer presented near the controls to delete the selected color scheme when that functionality is disabled. - + This color scheme cannot be renamed because it is included by default. Disclaimer presented near the controls to rename the color scheme when that functionality is disabled. - + default Text label displayed adjacent to a "color scheme" entry signifying that it is currently set as the default color scheme to be used. - + Set as default Text label for a button that, when invoked, sets the selected color scheme as the default scheme to use. - + Warn when closing more than one tab Header for a control to toggle whether to show a confirm dialog box when closing the application with multiple tabs open. - + Warn when "Touch Keyboard and Handwriting Panel Service" is disabled - + Warn when trying to paste more than 5 KiB of characters - + Warn when trying to paste a "new line" character - + Windows Terminal is running in portable mode. A disclaimer that indicates that Terminal is running in a mode that saves settings to a different folder. - + https://go.microsoft.com/fwlink/?linkid=2229086 {Locked} - + Learn more. A hyperlink displayed near Settings_PortableModeNote.Text that the user can follow for more information. - + Missing fonts: This is a label that is followed by a list of missing fonts. - + Non-monospace fonts: This is a label that is followed by a list of proportional fonts. - + ENQ (Request Terminal Status) response {Locked=ENQ}{Locked="Request Terminal Status"} Header for a control to determine the response to the ENQ escape sequence. This is represented using a text box. - + The response that is sent when an ENQ control sequence is received. {Locked=ENQ} A description for what the "ENQ response" setting does. Presented near "Profile_AnswerbackMessage". - + Useful for troubleshooting or developing Terminal. Additional description for what the "debug features enabled" setting does. Presented near "Globals_DebugFeaturesEnabled.Header". - + Experimental: Display suggested input in rainbow colors This is a label for a setting that, when enabled, applies a rainbow coloring to the preview text from the suggestions UI. - + Experimental: Add key bindings to color selected text Header for a control to toggle adding a set of key bindings that can be used to apply coloring to selected text in a terminal session. - + These key bindings can highlight the selected text or all instances of the selected text with a specified color. Additional text for a control to toggle adding a set of key bindings that can be used to apply coloring to selected text in a terminal session. Presented near "Globals_EnableColorSelection.Header". - + Allow acrylic material in unfocused windows Header for a control to toggle allowing unfocused windows to have an acrylic background. - + Display a shield in the title bar when Windows Terminal is running as Administrator Header for a control to toggle displaying a shield in the title bar of the app. "Admin" refers to elevated sessions like "run as Admin" - + Show tabs in full screen Header for a control to toggle if the app should show the tabs when in full screen state. @@ -1969,44 +1969,44 @@ When enabled, the tab bar will be visible when the app is full screen A description for what the "show tabs in full screen" setting does. - + Path translation Name for a control to select how file and directory paths are translated. - + Path translation Name for a control to select how file and directory paths are translated. - + Controls how file and directory paths are translated during drag-and-drop operations. A description for what the "path translation" setting does. Presented near "Profile_PathTranslationStyle.Header". - + None An option to choose from for the "path translation" setting. - + WSL (C:\ -> /mnt/c) {Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting. - + Cygwin (C:\ -> /cygdrive/c) {Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting. - + MSYS2 (C:\ -> /c) {Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting. - + Profile no longer detected - + This automatically-detected profile appears to have been uninstalled. Changes you have made to it are preserved, but it cannot be used until it has been reinstalled. - + Original Source - + Indicates the software that originally created this profile. From b0642f48126da034c8bfb92c95f6ebddcbc13b65 Mon Sep 17 00:00:00 2001 From: geekjosh Date: Sat, 16 Nov 2024 16:24:08 +0000 Subject: [PATCH 09/13] Revert "Fixed resources file formatting" This reverts commit f790bc400ba0839ca505498a87a5a1d29c82cfc3. --- .../Resources/en-US/Resources.resw | 1074 ++++++++--------- 1 file changed, 537 insertions(+), 537 deletions(-) diff --git a/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw b/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw index 32b62e97d7e..f8834188f62 100644 --- a/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw +++ b/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw @@ -1,6 +1,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Create New Button - + New empty profile Button label that creates a new profile with default settings. - + Duplicate a profile This is the header for a control that lets the user duplicate one of their existing profiles. - + Duplicate Button - + Duplicate Button label that duplicates the selected profile and navigates to the duplicate's page. - + This color scheme is part of the built-in settings or an installed extension - + To make changes to this color scheme, you must make a copy of it. - + Make a copy This is a call to action; the user can click the button to make a copy of the current color scheme. - + Set color scheme as default This is the header for a control that allows the user to set the currently selected color scheme as their default. - + Apply this color scheme to all your profiles, by default. Individual profiles can still select their own color schemes. A description explaining how this control changes the user's default color scheme. - + Rename color scheme This is the header for a control that allows the user to rename the currently selected color scheme. - + Background This is the header for a control that lets the user select the background color for text displayed on the screen. - + Black This is the header for a control that lets the user select the black color for text displayed on the screen. - + Blue This is the header for a control that lets the user select the blue color for text displayed on the screen. - + Bright black This is the header for a control that lets the user select the bright black color for text displayed on the screen. - + Bright blue This is the header for a control that lets the user select the bright blue color for text displayed on the screen. - + Bright cyan This is the header for a control that lets the user select the bright cyan color for text displayed on the screen. - + Bright green This is the header for a control that lets the user select the bright green color for text displayed on the screen. - + Bright purple This is the header for a control that lets the user select the bright purple color for text displayed on the screen. - + Bright red This is the header for a control that lets the user select the bright red color for text displayed on the screen. - + Bright white This is the header for a control that lets the user select the bright white color for text displayed on the screen. - + Bright yellow This is the header for a control that lets the user select the bright yellow color for text displayed on the screen. - + Cursor color This is the header for a control that lets the user select the text cursor's color displayed on the screen. - + Cyan This is the header for a control that lets the user select the cyan color for text displayed on the screen. - + Foreground This is the header for a control that lets the user select the foreground color for text displayed on the screen. - + Green This is the header for a control that lets the user select the green color for text displayed on the screen. - + Purple This is the header for a control that lets the user select the purple color for text displayed on the screen. - + Selection background This is the header for a control that lets the user select the background color for selected text displayed on the screen. - + Red This is the header for a control that lets the user select the red color for text displayed on the screen. - + White This is the header for a control that lets the user select the white color for text displayed on the screen. - + Yellow This is the header for a control that lets the user select the yellow color for text displayed on the screen. - + Language (requires relaunch) The header for a control allowing users to choose the app's language. - + Selects a display language for the application. This will override your default Windows interface language. A description explaining how this control changes the app's language. {Locked="Windows"} - + Default The app contains a control allowing users to choose the app's language. If this value is chosen, the language preference list of the system settings is used instead. - + Default IME input mode The "input scope" of an IME tells it what type of characters should be available for input. A Chinese IME for instance may show English letters instead of Chinese ones. It's a technical term. We're using "input mode" instead of "input scope" to make it easier to understand for users. - + Informs the IME what language to use by default. For languages that rely on an IME and don't use Latin characters by default, this setting can be used to force English input on startup. - + Default - + Alphanumeric Half-Width (English) - + Always show tabs Header for a control to toggle if the app should always show the tabs (similar to a website browser). - + When disabled, the tab bar will appear when a new tab is created. Cannot be disabled while "Hide the title bar" is On. A description for what the "always show tabs" setting does. Presented near "Globals_AlwaysShowTabs.Header". This setting cannot be disabled while "Globals_ShowTitlebar.Header" is enabled. - + Position of newly created tabs Header for a control to select position of newly created tabs. - + Specifies where new tabs appear in the tab row. A description for what the "Position of newly created tabs" setting does. - + After the last tab An option to choose from for the "Position of newly created tabs" setting. When selected new tab appears after the last tab. - + After the current tab An option to choose from for the "Position of newly created tabs" setting. When selected new tab appears after the current tab. - + Automatically copy selection to clipboard Header for a control to toggle whether selected text should be copied to the clipboard automatically, or not. - + Automatically detect URLs and make them clickable Header for a control to toggle whether the terminal should automatically detect URLs and make them clickable, or not. - + Default URL to use for the "Search web" action Header for a control to set the query URL when using the "search web" action. - + The placeholder "%s" will replaced with the search query. {Locked="%s"} Additional text presented near "Globals_SearchWebDefaultQueryUrl.Header". - + Remove trailing white-space in rectangular selection Header for a control to toggle whether a text selected with block selection should be trimmed of white spaces when copied to the clipboard, or not. - + Remove trailing white-space when pasting Header for a control to toggle whether pasted text should be trimmed of white spaces, or not. - + Below are the currently bound keys, which can be modified by editing the JSON settings file. A disclaimer located at the top of the actions page that presents the list of keybindings. - + Default profile Header for a control to select your default profile from the list of profiles you've created. - + Profile that opens when clicking the '+' icon or by typing the new tab key binding. A description for what the default profile is and when it's used. - + Default terminal application Header for a drop down that permits the user to select which installed Terminal application will launch when command line tools like CMD are run from the Windows Explorer run box or start menu or anywhere else that they do not already have a graphical window assigned. - + The terminal application that launches when a command-line application is run without an existing session, like from the Start Menu or Run dialog. A description to clarify that the dropdown choice for default terminal will tell the operating system which Terminal application (Windows Terminal, the preview build, the legacy inbox window, or a 3rd party one) to use when starting a command line tool like CMD or Powershell that does not already have a window. - + Graphics API This text is shown next to a list of choices. - + Direct3D 11 provides a more performant and feature-rich experience, whereas Direct2D is more stable. The default option "Automatic" will pick the API that best fits your graphics hardware. If you experience significant issues, consider using Direct2D. - + Automatic The default choice between multiple graphics APIs. - + Direct2D - + Direct3D 11 - + Disable partial Swap Chain invalidation "Swap Chain" is an official technical term by Microsoft. This text is shown next to a toggle. - + By default, the text renderer uses a FLIP_SEQUENTIAL Swap Chain and declares dirty rectangles via the Present1 API. When this setting is enabled, a FLIP_DISCARD Swap Chain will be used instead, and no dirty rectangles will be declared. Whether one or the other is better depends on your hardware and various other factors. {Locked="Present1","FLIP_DISCARD","FLIP_SEQUENTIAL"} - + Use software rendering (WARP) {Locked="WARP"} WARP is the "Windows Advanced Rasterization Platform". This text is shown next to a toggle. - + When enabled, the terminal will use a software rasterizer (WARP). This setting should be left disabled under almost all circumstances. {Locked="WARP"} WARP is the "Windows Advanced Rasterization Platform". - + Text measurement mode This text is shown next to a list of choices. - + This changes the way incoming text is grouped into cells. The "Grapheme clusters" option is the most modern and Unicode-correct way to do so, while "wcswidth" is a common approach on UNIX, and "Windows Console" replicates the way it used to work on Windows. Changing this setting requires a restart of Windows Terminal and it only applies to applications launched from within it. - + Grapheme clusters The default choice between multiple graphics APIs. - + wcswidth {Locked="wcswidth"} - + Windows Console - + Columns Header for a control to choose the number of columns in the terminal's text grid. - + Rows Header for a control to choose the number of rows in the terminal's text grid. - + Initial Columns Name for a control to choose the number of columns in the terminal's text grid. - + Initial Rows Name for a control to choose the number of rows in the terminal's text grid. - + X position Header for a control to choose the X coordinate of the terminal's starting position. - + Y position Header for a control to choose the Y coordinate of the terminal's starting position. - + X position Name for a control to choose the X coordinate of the terminal's starting position. - + Enter the value for the x-coordinate. Tooltip for the control that allows the user to choose the X coordinate of the terminal's starting position. - + X The string to be displayed when there is no current value in the x-coordinate number box. - + Y position Name for a control to choose the Y coordinate of the terminal's starting position. - + Enter the value for the y-coordinate. Tooltip for the control that allows the user to choose the Y coordinate of the terminal's starting position. - + Y The string to be displayed when there is no current value in the y-coordinate number box. - + Let Windows decide A checkbox for the "launch position" setting. Toggling this control sets the launch position to whatever the Windows operating system decides. - + If enabled, use the system default launch position. A description for what the "default launch position" checkbox does. Presented near "Globals_DefaultLaunchPositionCheckbox". - + When Terminal starts Header for a control to select how the terminal should load its first window. - + What should be shown when the first terminal is created. - + Open a tab with the default profile An option to choose from for the "First window preference" setting. Open the default profile. - + Open windows from a previous session An option to choose from for the "First window preference" setting. Reopen the layouts from the last session. - + Launch mode Header for a control to select what mode to launch the terminal in. - + How the terminal will appear on launch. Focus will hide the tabs and title bar. 'Focus' must match <Globals_LaunchModeFocus.Content>. - + Launch parameters Header for a set of settings that determine how terminal launches. These settings include the launch mode, launch position and whether the terminal should center itself on launch. - + Settings that control how the terminal launches A description for what the "launch parameters" expander contains. Presented near "Globals_LaunchParameters.Header". - + Launch mode Header for a control to select what mode to launch the terminal in. - + How the terminal will appear on launch. Focus will hide the tabs and title bar. 'Focus' must match <Globals_LaunchModeFocus.Content>. - + Default An option to choose from for the "launch mode" setting. Default option. - + Full screen An option to choose from for the "launch mode" setting. Opens the app in a full screen state. - + Maximized An option to choose from for the "launch mode" setting. Opens the app maximized (covers the whole screen). - + New instance behavior Header for a control to select how new app instances are handled. - + Controls how new terminal instances attach to existing windows. A description for what the "windowing behavior" setting does. Presented near "Globals_WindowingBehavior.Header". - + Create a new window An option to choose from for the "windowing behavior" setting. When selected, new instances create a new window. - + Attach to the most recently used window An option to choose from for the "windowing behavior" setting. When selected, new instances open in the most recently used window. - + Attach to the most recently used window on this desktop An option to choose from for the "windowing behavior" setting. When selected, new instances open in the most recently used window on this virtual desktop. - + Hide the title bar (requires relaunch) Header for a control to toggle whether the title bar should be shown or not. Changing this setting requires the user to relaunch the app. - + When disabled, the title bar will appear above the tabs. A description for what the "show titlebar" setting does. Presented near "Globals_ShowTitlebar.Header". - + Use acrylic material in the tab row Header for a control to toggle whether "acrylic material" is used. "Acrylic material" is a Microsoft-specific term: https://docs.microsoft.com/en-us/windows/apps/design/style/acrylic - + Use active terminal title as application title Header for a control to toggle whether the terminal's title is shown as the application title, or not. - + When disabled, the title bar will be 'Terminal'. A description for what the "show title in titlebar" setting does. Presented near "Globals_ShowTitleInTitlebar.Header".{Locked="Windows"} - + Snap window resizing to character grid Header for a control to toggle whether the terminal snaps the window to the character grid when resizing, or not. - + When disabled, the window will resize smoothly. A description for what the "snap to grid on resize" setting does. Presented near "Globals_SnapToGridOnResize.Header". - + Launch on machine startup Header for a control to toggle whether the app should launch when the user's machine starts up, or not. - + Automatically launch Terminal when you log in to Windows. A description for what the "start on user login" setting does. Presented near "Globals_StartOnUserLogin.Header". {Locked="Windows"} - + Centered Shorthand, explanatory text displayed when the user has enabled the feature indicated by "Globals_CenterOnLaunch.Text". - + Center on launch Header for a control to toggle whether the app should launch in the center of the screen, or not. - + When enabled, the window will be placed in the center of the screen when launched. A description for what the "center on launch" setting does. Presented near "Globals_CenterOnLaunch.Header". - + Always on top Header for a control to toggle if the app will always be presented on top of other windows, or is treated normally (when disabled). - + Use the legacy input encoding Header for a control to toggle legacy input encoding for the terminal. - + Allow DECRQCRA (Request Checksum of Rectangular Area) {Locked="DECRQCRA"}{Locked="Request Checksum of Rectangular Area"}Header for a control to toggle support for the DECRQCRA control sequence. - + Allow Windows Terminal to run in the background Header for a control to toggle support for Windows Terminal to run in the background. - + Force each window to run in its own process Header for a control to toggle making each window be its own process. - + Enable debugging features Header for a control to toggle debug features. - + Terminal will always be the topmost window on the desktop. A description for what the "always on top" setting does. Presented near "Globals_AlwaysOnTop.Header". - + Certain keyboard input in some applications may stop working properly when this setting is enabled. Additional description for what the "force vt input" setting does. Presented near "Globals_ForceVTInput.Header". - + This allows actions such as Global Summon and Quake Mode actions to work even when no windows are open. Additional description for what the "allow headless" setting does. Presented near "Globals_AllowHeadless.Header". - + Certain features will not work properly, including—but not limited to—global hotkeys, tab drag and drop, and wt.exe window targeting. {Locked="wt.exe"} Additional description for what the "isolated mode" setting does. Presented near "Globals_IsolatedMode.Header". - + Tab width mode Header for a control to choose how wide the tabs are. - + Compact will shrink inactive tabs to the size of the icon. A description for what the "tab width mode" setting does. Presented near "Globals_TabWidthMode.Header". 'Compact' must match the value for <Globals_TabWidthModeCompact.Content>. - + Compact An option to choose from for the "tab width mode" setting. When selected, unselected tabs collapse to show only their icon. The selected tab adjusts to display the content within the tab. - + Equal An option to choose from for the "tab width mode" setting. When selected, each tab has the same width. - + Title length An option to choose from for the "tab width mode" setting. When selected, each tab adjusts its width to the content within the tab. - + Application Theme Header for a control to choose the theme colors used in the app. - + Dark An option to choose from for the "theme" setting. When selected, the app is in dark theme and darker colors are used throughout the app. - + Use Windows theme An option to choose from for the "theme" setting. When selected, the app uses the theme selected in the Windows operating system. - + Light An option to choose from for the "theme" setting. When selected, the app is in light theme and lighter colors are used throughout the app. - + Dark (Legacy) An option to choose from for the "theme" setting. When selected, the app is in dark theme and darker colors are used throughout the app. This is an older version of the "dark" theme - + Use Windows theme (Legacy) An option to choose from for the "theme" setting. When selected, the app uses the theme selected in the Windows operating system. This is an older version of the "Use Windows theme" theme - + Light (Legacy) An option to choose from for the "theme" setting. When selected, the app is in light theme and lighter colors are used throughout the app. This is an older version of the "light" theme - + Word delimiters Header for a control to determine what delimiters to use to identify separate words during word selection. - + These symbols will be used when you double-click text in the terminal or activate "Mark mode". A description for what the "word delimiters" setting does. Presented near "Globals_WordDelimiters.Header". "Mark" is used in the sense of "choosing something to interact with." - + Appearance Header for the "appearance" menu item. This navigates to a page that lets you see and modify settings related to the app's appearance. - + Color schemes Header for the "color schemes" menu item. This navigates to a page that lets you see and modify schemes of colors that can be used by the terminal. - + Interaction Header for the "interaction" menu item. This navigates to a page that lets you see and modify settings related to the user's mouse and touch interactions with the app. - + Compatibility Header for the "compatibility" menu item. This navigates to a page that lets you see and modify settings related to compatibility with command line scenarios. - + Startup Header for the "startup" menu item. This navigates to a page that lets you see and modify settings related to the app's launch experience (i.e. screen position, mode, etc.) - + Open JSON file Header for a menu item. This opens the JSON file that is used to log the app's settings. - + Defaults Header for the "defaults" menu item. This navigates to a page that lets you see and modify settings that affect profiles. This is the lowest layer of profile settings that all other profile settings are based on. If a profile doesn't define a setting, this page is responsible for figuring out what that setting is supposed to be. - + Rendering Header for the "rendering" menu item. This navigates to a page that lets you see and modify settings related to the app's rendering of text in the terminal. - + Actions Header for the "actions" menu item. This navigates to a page that lets you see and modify commands, key bindings, and actions that can be done in the app. - + Background opacity Name for a control to determine the level of opacity for the background of the control. The user can choose to make the background of the app more or less opaque. - + Background opacity Header for a control to determine the level of opacity for the background of the control. The user can choose to make the background of the app more or less opaque. - + Sets the opacity of the window. A description for what the "opacity" setting does. Presented near "Profile_Opacity.Header". - + Advanced Header for a sub-page of profile settings focused on more advanced scenarios. - + Terminal Emulation Header for a sub-page of profile settings focused on customizing the capabilities of the terminal. - + AltGr aliasing Header for a control to toggle whether the app treats ctrl+alt as the AltGr (also known as the Alt Graph) modifier key found on keyboards. {Locked="AltGr"} - + By default, Windows treats Ctrl+Alt as an alias for AltGr. This setting will override Windows' default behavior. A description for what the "AltGr aliasing" setting does. Presented near "Profile_AltGrAliasing.Header". {Locked="Windows"} - + Text antialiasing Name for a control to select the graphical anti-aliasing format of text. - + Text antialiasing Header for a control to select the graphical anti-aliasing format of text. - + Controls how text is antialiased in the renderer. A description for what the "antialiasing mode" setting does. Presented near "Profile_AntialiasingMode.Header". - + Aliased An option to choose from for the "text antialiasing" setting. When selected, the app's text renderer does not use antialiasing techniques. - + ClearType An option to choose from for the "text antialiasing" setting. When selected, the app's text renderer uses a "ClearType" antialiasing technique. {Locked="ClearType"} - + Grayscale An option to choose from for the "text antialiasing" setting. When selected, the app's text renderer uses a grayscale antialiasing technique. - + Appearance Header for a sub-page of profile settings focused on customizing the appearance of the profile. - + Background image path Name for a control to determine the image presented on the background of the app. - + Background image path Name for a control to determine the image presented on the background of the app. - + Background image path Header for a control to determine the image presented on the background of the app. - + File location of the image used in the background of the window. A description for what the "background image path" setting does. Presented near "Profile_BackgroundImage". - + Background image alignment Name for a control to choose the visual alignment of the image presented on the background of the app. - + Background image alignment Header for a control to choose the visual alignment of the image presented on the background of the app. - + Sets how the background image aligns to the boundaries of the window. A description for what the "background image alignment" setting does. Presented near "Profile_BackgroundImageAlignment". - + Bottom This is the formal name for a visual alignment. - + Bottom left This is the formal name for a visual alignment. - + Bottom right This is the formal name for a visual alignment. - + Center This is the formal name for a visual alignment. - + Left This is the formal name for a visual alignment. - + Right This is the formal name for a visual alignment. - + Top This is the formal name for a visual alignment. - + Top left This is the formal name for a visual alignment. - + Top right This is the formal name for a visual alignment. - + Browse... Button label that opens a file picker in a new window. The "..." is standard to mean it will open a new window. - + Add new font axis - + Add new Button label that adds a new font axis for the current font. - + Add new font feature - + Add new Button label that adds a new font feature for the current font. - + Background image opacity Name for a control to choose the opacity of the image presented on the background of the app. - + Background image opacity Header for a control to choose the opacity of the image presented on the background of the app. - + Sets the opacity of the background image. A description for what the "background image opacity" setting does. Presented near "Profile_BackgroundImageOpacity". - + Background image stretch mode Name for a control to choose the stretch mode of the image presented on the background of the app. Stretch mode is how the image is resized to fill its allocated space. - + Background image stretch mode Header for a control to choose the stretch mode of the image presented on the background of the app. Stretch mode is how the image is resized to fill its allocated space. - + Sets how the background image is resized to fill the window. A description for what the "background image stretch mode" setting does. Presented near "Profile_BackgroundImageStretchMode". - + Fill An option to choose from for the "background image stretch mode" setting. When selected, the image is resized to fill the destination dimensions. The aspect ratio is not preserved. - + None An option to choose from for the "background image stretch mode" setting. When selected, the image preserves its original size. - + Uniform An option to choose from for the "background image stretch mode" setting. When selected,the image is resized to fit in the destination dimensions while it preserves its native aspect ratio. - + Uniform to fill An option to choose from for the "background image stretch mode" setting. When selected, the content is resized to fill the destination dimensions while it preserves its native aspect ratio. But if the aspect ratio of the destination differs, the image is clipped to fit in the space (to fill the space) - + Profile termination behavior Name for a control to select the behavior of a terminal session (a profile) when it closes. - + Profile termination behavior Header for a control to select the behavior of a terminal session (a profile) when it closes. - + Close when process exits, fails, or crashes An option to choose from for the "profile termination behavior" (or "close on exit") setting. When selected, the terminal closes if the process exits in a controlled (exit) or uncontrolled (fail or crash) scenario. - + Close only when process exits successfully An option to choose from for the "profile termination behavior" (or "close on exit") setting. When selected, the terminal closes if the process exits in a controlled scenario successfully. - + Never close automatically An option to choose from for the "profile termination behavior" (or "close on exit") setting. When selected, the terminal never closes, even if the process exits in a controlled or uncontrolled scenario. The user would have to manually close the terminal. - + Automatic An option to choose from for the "profile termination behavior" (or "close on exit") setting. When selected, the terminal closes if the process exits in a controlled scenario successfully and the process was launched by Windows Terminal. - + Color scheme Header for a control to select the scheme (or set) of colors used in the session. This is selected from a list of options managed by the user. - + Command line Name for a control to determine commandline executable (i.e. a .exe file) to run when a terminal session of this profile is launched. - + Command line Header for a control to determine commandline executable (i.e. a .exe file) to run when a terminal session of this profile is launched. - + Command line Name for a control to determine commandline executable (i.e. a .exe file) to run when a terminal session of this profile is launched. - + Executable used in the profile. A description for what the "command line" setting does. Presented near "Profile_Commandline". - + Browse... Button label that opens a file picker in a new window. The "..." is standard to mean it will open a new window. - + Cursor height Header for a control to determine the height of the text cursor. - + Sets the percentage height of the cursor starting from the bottom. Only works with the vintage cursor shape. A description for what the "cursor height" setting does. Presented near "Profile_CursorHeight". - + Cursor shape Name for a control to select the shape of the text cursor. - + Cursor shape Header for a control to select the shape of the text cursor. - + Never An option to choose from for the "adjust indistinguishable colors" setting. When selected, we will never adjust the text colors. - + Only for colors in the color scheme An option to choose from for the "adjust indistinguishable colors" setting. When selected, we will adjust the text colors for visibility only when the colors are part of this profile's color scheme's color table. - + Always An option to choose from for the "adjust indistinguishable colors" setting. When selected, we will adjust the text colors for visibility. - + Bar ( ┃ ) {Locked="┃"} An option to choose from for the "cursor shape" setting. When selected, the cursor will look like a vertical bar. The character in the parentheses is used to show what it looks like. - + Empty box ( ▯ ) {Locked="▯"} An option to choose from for the "cursor shape" setting. When selected, the cursor will look like an empty box. The character in the parentheses is used to show what it looks like. - + Filled box ( █ ) {Locked="█"} An option to choose from for the "cursor shape" setting. When selected, the cursor will look like a filled box. The character in the parentheses is used to show what it looks like. - + Underscore ( ▁ ) {Locked="▁"} An option to choose from for the "cursor shape" setting. When selected, the cursor will look like an underscore. The character in the parentheses is used to show what it looks like. - + Vintage ( ▃ ) {Locked="▃"} An option to choose from for the "cursor shape" setting. When selected, the cursor will look like a thick underscore. This is the vintage and classic look of a cursor for terminals. The character in the parentheses is used to show what it looks like. - + Double underscore ( ‗ ) {Locked="‗"} An option to choose from for the "cursor shape" setting. When selected, the cursor will look like a stacked set of two underscores. The character in the parentheses is used to show what it looks like. - + Font face Header for a control to select the font for text in the app. - + Font face Name for a control to select the font for text in the app. - + You can use multiple fonts by separating them with an ASCII comma. - + Font size Header for a control to determine the size of the text in the app. - + Font size Name for a control to determine the size of the text in the app. - + Size of the font in points. A description for what the "font size" setting does. Presented near "Profile_FontSize". - + Line height Header for a control that sets the text line height. - + Cell width Header for a control that sets the text character width. - + Line height Header for a control that sets the text line height. - + Cell width Header for a control that sets the text character width. - + Override the line height of the terminal. Measured as a multiple of the font size. The default value depends on your font and is usually around 1.2. A description for what the "line height" setting does. Presented near "Profile_LineHeight". - + Override the cell width of the terminal. Measured as a multiple of the font size. The default value depends on your font and is usually around 0.6. A description for what the "cell width" setting does. Presented near "Profile_CellWidth". - + 1.2 "1.2" is a decimal number. - + 0.6 "0.6" is a decimal number. - + Builtin Glyphs The main label of a toggle. When enabled, certain characters (glyphs) are replaced with better looking ones. - + When enabled, the terminal draws custom glyphs for block element and box drawing characters instead of using the font. A longer description of the "Profile_EnableBuiltinGlyphs" toggle. "glyphs", "block element" and "box drawing characters" are technical terms from the Unicode specification. - + Full-color Emoji The main label of a toggle. When enabled, certain characters (emoji in this case) are displayed with multiple colors. - + When enabled, Emoji are displayed in full color. A longer description of the "Profile_EnableColorGlyphs" toggle. - + Font weight Name for a control to select the weight (i.e. bold, thin, etc.) of the text in the app. - + Font weight Name for a control to select the weight (i.e. bold, thin, etc.) of the text in the app. - + Font weight Header for a control to select the weight (i.e. bold, thin, etc.) of the text in the app. - + Sets the weight (lightness or heaviness of the strokes) for the given font. A description for what the "font weight" setting does. Presented near "Profile_FontWeight". - + Variable font axes Header for a control to allow editing the font axes. - + Add or remove font axes for the given font. A description for what the "font axes" setting does. Presented near "Profile_FontAxes". - + The selected font has no variable font axes. A description provided when the font axes setting is disabled. Presented near "Profile_FontAxes". - + Font features Header for a control to allow editing the font features. - + Add or remove font features for the given font. A description for what the "font features" setting does. Presented near "Profile_FontFeatures". - + The selected font has no font features. A description provided when the font features setting is disabled. Presented near "Profile_FontFeatures". - + General Header for a sub-page of profile settings focused on more general scenarios. - + Hide profile from dropdown Header for a control to toggle whether the profile is shown in a dropdown menu, or not. - + If enabled, the profile will not appear in the list of profiles. This can be used to hide default profiles and dynamically generated profiles, while leaving them in your settings file. A description for what the "hidden" setting does. Presented near "Profile_Hidden". - + Run this profile as Administrator Header for a control to toggle whether the profile should always open elevated (in an admin window) - + If enabled, the profile will open in an Admin terminal window automatically. If the current window is already running as admin, it will open in this window. A description for what the "elevate" setting does. Presented near "Profile_Elevate". - + History size Header for a control to determine how many lines of text can be saved in a session. In terminals, the "history" is the output generated within your session. - + History size Name for a control to determine how many lines of text can be saved in a session. In terminals, the "history" is the output generated within your session. - + The number of lines above the ones displayed in the window you can scroll back to. A description for what the "history size" setting does. Presented near "Profile_HistorySize". - + Icon Name for a control to determine what icon can be used to represent this profile. This is not necessarily a file path, but can be one. - + Icon Header for a control to determine what icon can be used to represent this profile. This is not necessarily a file path, but can be one. - + Icon Name for a control to determine what icon can be used to represent this profile. This is not necessarily a file path, but can be one. - + Emoji or image file location of the icon used in the profile. A description for what the "icon" setting does. Presented near "Profile_Icon". - + Browse... Button label that opens a file picker in a new window. The "..." is standard to mean it will open a new window. - + Padding Name for a control to determine the amount of space between text in a terminal and the edge of the window. - + Padding Header for a control to determine the amount of space between text in a terminal and the edge of the window. The space can be any combination of the top, bottom, left, and right side of the window. - + Sets the padding around the text within the window. A description for what the "padding" setting does. Presented near "Profile_Padding". - + Retro terminal effects Header for a control to toggle classic CRT display effects, which gives the terminal a retro look. - + Show retro-style terminal effects such as glowing text and scan lines. A description for what the "retro terminal effects" setting does. Presented near "Profile_RetroTerminalEffect". "Retro" is a common English prefix that suggests a nostalgic, dated appearance. - + Automatically adjust lightness of indistinguishable text Header for a control to toggle if we should adjust the foreground color's lightness to make it more visible when necessary, based on the background color. - + Automatically brightens or darkens text to make it more visible. Even when enabled, this adjustment will only occur when a combination of foreground and background colors would result in poor contrast. A description for what the "adjust indistinguishable colors" setting does. Presented near "Profile_AdjustIndistinguishableColors". - + Scrollbar visibility Name for a control to select the visibility of the scrollbar in a session. - + Scrollbar visibility Header for a control to select the visibility of the scrollbar in a session. - + Hidden An option to choose from for the "scrollbar visibility" setting. When selected, the scrollbar is hidden. - + Visible An option to choose from for the "scrollbar visibility" setting. When selected, the scrollbar is visible but may dynamically shrink. - + Always An option to choose from for the "scrollbar visibility" setting. When selected, the scrollbar is always visible. - + Scroll to input when typing Header for a control to toggle if keyboard input should automatically scroll to where the input was placed. - + Starting directory Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths. - + Starting directory Header for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths. - + Starting directory Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths. - + The directory the profile starts in when it is loaded. A description for what the "starting directory" setting does. Presented near "Profile_StartingDirectory". - + Browse... Button label that opens a file picker in a new window. The "..." is standard to mean it will open a new window. - + Use parent process directory A supplementary setting to the "starting directory" setting. "Parent" refers to the parent process of the current process. - + If enabled, this profile will spawn in the directory from which Terminal was launched. A description for what the supplementary "use parent process directory" setting does. Presented near "Profile_StartingDirectoryUseParentCheckbox". - + Hide icon A supplementary setting to the "icon" setting. - + If enabled, this profile will have no icon. A description for what the supplementary "Hide icon" setting does. Presented near "Profile_HideIconCheckbox". - + Suppress title changes Header for a control to toggle changes in the app title. - + Ignore application requests to change the title (OSC 2). A description for what the "suppress application title" setting does. Presented near "Profile_SuppressApplicationTitle". "OSC 2" is a technical term that is understood in the industry. {Locked="OSC 2"} - + Tab title Name for a control to determine the title of the tab. This is represented using a text box. - + Tab title Header for a control to determine the title of the tab. This is represented using a text box. - + Replaces the profile name as the title to pass to the shell on startup. A description for what the "tab title" setting does. Presented near "Profile_TabTitle". - + Unfocused appearance The header for the section where the unfocused appearance settings can be changed. - + Create Appearance Button label that adds an unfocused appearance for this profile. - + Delete Button label that deletes the unfocused appearance for this profile. - + Enable acrylic material Header for a control to toggle the use of acrylic material for the background. "Acrylic material" is a Microsoft-specific term: https://docs.microsoft.com/en-us/windows/apps/design/style/acrylic - + Applies a translucent texture to the background of the window. A description for what the "Profile_UseAcrylic" setting does. - + Use desktop wallpaper A supplementary setting to the "background image" setting. When enabled, the OS desktop wallpaper is used as the background image. Presented near "Profile_BackgroundImage". - + Use the desktop wallpaper image as the background image for the terminal. A description for what the supplementary "use desktop image" setting does. Presented near "Profile_UseDesktopImage". - + Discard changes Text label for a destructive button that discards the changes made to the settings. - + Discard all unsaved settings. A description for what the "discard changes" button does. Presented near "Settings_ResetSettingsButton". - + Save Text label for the confirmation button that saves the changes made to the settings. - + ⚠ You have unsaved changes. {Locked="⚠"} A disclaimer that appears when the unsaved changes to the settings are present. - + Add a new profile Header for the "add new" menu item. This navigates to the page where users can add a new profile. - + Profiles Header for the "profiles" menu items. This acts as a divider to introduce profile-related menu items. - + Focus An option to choose from for the "launch mode" setting. Focus mode is a mode designed to help you focus. - + Maximized focus An option to choose from for the "launch mode" setting. Opens the app maximized and in focus mode. - + Maximized full screen An option to choose from for the "launch mode" setting. Opens the app maximized and in full screen. - + Full screen focus An option to choose from for the "launch mode" setting. Opens the app in full screen and in focus mode. - + Maximized full screen focus An option to choose from for the "launch mode" setting. Opens the app maximized in full screen and in focus mode. - + Bell notification style Name for a control to select the how the app notifies the user. "Bell" is the common term in terminals for the BEL character (like the metal device used to chime). - + Bell notification style Header for a control to select the how the app notifies the user. "Bell" is the common term in terminals for the BEL character (like the metal device used to chime). - + Controls what happens when the application emits a BEL character. A description for what the "bell style" setting does. Presented near "Profile_BellStyle".{Locked="BEL"} - + Launch this application with a new environment block "environment variables" are user-definable values that can affect the way running processes will behave on a computer - + When enabled, the Terminal will generate a new environment block when creating new tabs or panes with this profile. When disabled, the tab/pane will instead inherit the variables the Terminal was started with. A description for what the "Reload environment variables" setting does. Presented near "Profile_ReloadEnvVars". - + Display a menu on right-click This controls how a right-click behaves in the terminal - + When enabled, the Terminal will display a menu on right-click. When disabled, right-clicking will copy the selected text (or paste if there's no selection). A description for what the "Display a menu on right-click" setting does. Presented near "Profile_RightClickContextMenu". - + Display marks on the scrollbar "Marks" are small visual indicators that can help the user identify the position of useful info in the scrollbar - + When enabled, the Terminal will display marks in the scrollbar when searching for text, or when shell integration is enabled. A description for what the "Display marks on the scrollbar" setting does. Presented near "Profile_ShowMarks". - + Automatically mark prompts on pressing Enter "Enter" is the enter/return key on the keyboard. This will add a mark indicating the position of a shell prompt when the user presses enter. - + When enabled, the Terminal automatically add a mark indicating the position of the end of the command when you press enter. A description for what the "Automatically mark prompts on pressing Enter" setting does. Presented near "Profile_AutoMarkPrompts". - + Experimental: Reposition the cursor with mouse clicks This allows the user to move the text cursor just by clicking with the mouse. - + When enabled, clicking inside the prompt will move the cursor to that position. This requires shell integration to be enabled in your shell to work as expected. A description for what the "Reload environment variables" setting does. Presented near "Profile_RepositionCursorWithMouse". - + Audible An option to choose from for the "bell style" setting. When selected, an audible cue is used to notify the user. - + None An option to choose from for the "bell style" setting. When selected, notifications are silenced. - + Disable pane animations Header for a control to toggle animations on panes. "Enabled" value disables the animations. - + Black This is the formal name for a font weight. - + Bold This is the formal name for a font weight. - + Custom This is an entry that allows the user to select their own font weight value outside of the simplified list of options. - + Extra-Black This is the formal name for a font weight. - + Extra-Bold This is the formal name for a font weight. - + Extra-Light This is the formal name for a font weight. - + Light This is the formal name for a font weight. - + Medium This is the formal name for a font weight. - + Normal This is the formal name for a font weight. - + Semi-Bold This is the formal name for a font weight. - + Semi-Light This is the formal name for a font weight. - + Thin This is the formal name for a font weight. - + Required ligatures This is the formal name for a font feature. - + Localized forms This is the formal name for a font feature. - + Composition/decomposition This is the formal name for a font feature. - + Contextual alternates This is the formal name for a font feature. - + Standard ligatures This is the formal name for a font feature. - + Contextual ligatures This is the formal name for a font feature. - + Required variation alternates This is the formal name for a font feature. - + Kerning This is the formal name for a font feature. - + Mark positioning This is the formal name for a font feature. - + Mark to mark positioning This is the formal name for a font feature. - + Distance This is the formal name for a font feature. - + Access all alternates This is the formal name for a font feature. - + Case sensitive forms This is the formal name for a font feature. - + Denominator This is the formal name for a font feature. - + Terminal forms This is the formal name for a font feature. - + Fractions This is the formal name for a font feature. - + Initial forms This is the formal name for a font feature. - + Medial forms This is the formal name for a font feature. - + Numerator This is the formal name for a font feature. - + Ordinals This is the formal name for a font feature. - + Required contextual alternates This is the formal name for a font feature. - + Scientific inferiors This is the formal name for a font feature. - + Subscript This is the formal name for a font feature. - + Superscript This is the formal name for a font feature. - + Slashed zero This is the formal name for a font feature. - + Above-base mark positioning This is the formal name for a font feature. - + Launch size Header for a group of settings that control the size of the app. Presented near "Globals_InitialCols" and "Globals_InitialRows". - + The number of rows and columns displayed in the window upon first load. Measured in characters. A description for what the "rows" and "columns" settings do. Presented near "Globals_LaunchSize.Header". - + Launch position Header for a group of settings that control the launch position of the app. Presented near "Globals_InitialPosX" and "Globals_InitialPosY". - + The initial position of the terminal window upon startup. When launching as maximized, full screen, or with "Center on launch" enabled, this is used to target the monitor of interest. A description for what the "X position" and "Y position" settings do. Presented near "Globals_LaunchPosition.Header". - + All An option to choose from for the "bell style" setting. When selected, a combination of the other bell styles is used to notify the user. - + Visual (flash taskbar) - + Flash taskbar An option to choose from for the "bell style" setting. When selected, a visual notification is used to notify the user. In this case, the taskbar is flashed. - + Flash window An option to choose from for the "bell style" setting. When selected, a visual notification is used to notify the user. In this case, the window is flashed. - + Add new Button label that creates a new color scheme. - + Delete color scheme Button label that deletes the selected color scheme. - + Edit Button label that edits the currently selected color scheme. - + Delete Button label that deletes the selected color scheme. - + Name The name of the color scheme. Used as a label on the name control. - + The name of the color scheme. Supplementary text (tooltip) for the control used to select a color scheme that is under view. - + Delete profile Button label that deletes the current profile that is being viewed. - + The name of the profile that appears in the dropdown. A description for what the "name" setting does. Presented near "Profile_Name". - + Name Name for a control to determine the name of the profile. This is a text box. - + Name Header for a control to determine the name of the profile. This is a text box. - + Transparency Header for a group of settings related to transparency, including the acrylic material background of the app. - + Background image Header for a group of settings that control the image presented on the background of the app. Presented near "Profile_BackgroundImage" and other keys starting with "Profile_BackgroundImage". - + Cursor Header for a group of settings that control the appearance of the cursor. Presented near "Profile_CursorHeight" and other keys starting with "Profile_Cursor". - + Additional settings Header for the buttons that navigate to additional settings for the profile. - + Text Header for a group of settings that control the appearance of text in the app. - + Warnings Header for a group of settings that control the warnings in the app. - + Window Header for a group of settings that control the appearance of the window frame of the app. - + Open your settings.json file. Alt+Click to open your defaults.json file. {Locked="settings.json"}, {Locked="defaults.json"} - + Rename Text label for a button that can be used to begin the renaming process. - + This color scheme cannot be deleted or renamed because it is included by default. Disclaimer presented next to the delete button when it is disabled. - + Yes, delete color scheme Button label for positive confirmation of deleting a color scheme (presented with "ColorScheme_DeleteConfirmationMessage") - + Are you sure you want to delete this color scheme? A confirmation message displayed when the user intends to delete a color scheme. - + Accept rename Text label for a button that can be used to confirm a rename operation during the renaming process. - + Cancel rename Text label for a button that can be used to cancel a rename operation during the renaming process. - + Schemes defined here can be applied to your profiles under the "Appearances" section of the profile settings pages. A disclaimer presented at the top of a page. "Appearances" should match Profile_Appearance.Header. - + Settings defined here will apply to all profiles unless they are overridden by a profile's settings. A disclaimer presented at the top of a page. See "Nav_ProfileDefaults.Content" for a description on what the defaults layer does in the app. - + Yes, delete profile Button label for positive confirmation of deleting a profile (presented with "Profile_DeleteConfirmationMessage") - + Are you sure you want to delete this profile? A confirmation message displayed when the user intends to delete a profile. - + Save all unsaved settings. A description for what the "save" button does. Presented near "Settings_SaveSettingsButton". - + Tab switcher interface style Header for a control to choose how the tab switcher operates. - + Selects which interface will be used when you switch tabs using the keyboard. A description for what the "tab switcher mode" setting does. Presented near "Globals_TabSwitcherMode.Header". - + Separate window, in most recently used order An option to choose from for the "tab switcher mode" setting. The tab switcher overlay is shown in most recently used order. - + Separate window, in tab strip order An option to choose from for the "tab switcher mode" setting. The tab switcher overlay is shown in the order of the tabs at the top of the app. - + Traditional navigation, no separate window An option to choose from for the "tab switcher mode" setting. The tab switcher overlay is hidden and does not appear in a separate window. - + Text formats to copy to the clipboard Header for a control to select the format of copied text. - + Plain text only An option to choose from for the "copy formatting" setting. Store only plain text data. - + HTML An option to choose from for the "copy formatting" setting. Store only HTML data. - + RTF An option to choose from for the "copy formatting" setting. Store only RTF data. - + Both HTML and RTF An option to choose from for the "copy formatting" setting. Store both HTML and RTF data. - + Please choose a different name. An error message that appears when the user attempts to rename a color scheme to something invalid. This appears as the subtitle and provides guidance to fix the issue. - + This color scheme name is already in use. An error message that appears when the user attempts to rename a color scheme to something invalid. This appears as the title, and explains the issue. - + Automatically focus pane on mouse hover Header for a control to toggle the "focus follow mouse" setting. When enabled, hovering over a pane puts it in focus. - + Pane animations Header for a control to toggle animations on panes. "Enabled" value enables the animations. - + Always display an icon in the notification area Header for a control to toggle whether the notification icon should always be shown. - + Hide Terminal in the notification area when it is minimized Header for a control to toggle whether the terminal should hide itself in the notification area instead of the taskbar when minimized. - + Reset to inherited value. This button will remove a user's customization from a given setting, restoring it to the value that the profile inherited. This is a text label on a button. - + Terminal colors A header for a grouping of colors in the color scheme. These colors are used for basic parts of the terminal. - + System colors A header for a grouping of colors in the color scheme. These colors are used for functional parts of the terminal. - + Colors A header for the grouping of colors in the color scheme. - + Reset to value from: {} {} is replaced by the name of another profile or generator. This is a text label on a button that is dynamically generated and provides more context in the {}. - + Show all fonts A supplementary setting to the "font face" setting. Toggling this control updates the font face control to show all of the fonts installed. - + If enabled, show all installed fonts in the list above. Otherwise, only show the list of monospace fonts. A description for what the supplementary "show all fonts" setting does. Presented near "Profile_FontFaceShowAllFonts". - + Create Appearance Name for a control which creates an the unfocused appearance settings for this profile. Text must match that of "Profile_AddAppearanceButton.Text". - + Create an unfocused appearance for this profile. This will be the appearance of the profile when it is inactive. A description for what the create unfocused appearance button does. - + Delete Appearance Name for a control which deletes an the unfocused appearance settings for this profile. - + Delete the unfocused appearance for this profile. A description for what the delete unfocused appearance button does. - + Yes, delete key binding Button label that confirms deletion of a key binding entry. - + Are you sure you want to delete this key binding? Confirmation message displayed when the user attempts to delete a key binding entry. - + Invalid key chord. Please enter a valid key chord. Error message displayed when an invalid key chord is input by the user. - + Yes Button label that confirms the deletion of a conflicting key binding to allow the current key binding to be registered. - + The provided key chord is already being used by the following action: Error message displayed when a key chord that is already in use is input by the user. The name of the conflicting key chord is displayed after this message. - + Would you like to overwrite it? Confirmation message displayed when a key chord that is already in use is input by the user. This is intended to ask the user if they wish to delete the conflicting key binding, and assign the current key chord (or binding) instead. This is presented in the context of Actions_RenameConflictConfirmationMessage. The subject of this sentence is the object of that one. - + <unnamed command> {Locked="<"} {Locked=">"} The text shown when referring to a command that is unnamed. - + Accept Text label for a button that can be used to accept changes to a key binding entry. - + Cancel Text label for a button that can be used to cancel changes to a key binding entry - + Delete Text label for a button that can be used to delete a key binding entry. - + Edit Text label for a button that can be used to begin making changes to a key binding entry. - + Add new Button label that creates a new action on the actions page. - + Action Label for a control that sets the action of a key binding. - + Input your desired keyboard shortcut. Help text directing users how to use the "KeyChordListener" control. Pressing a keyboard shortcut will be recorded by this control. - + shortcut listener The control type for a control that awaits keyboard input and records it. - + Shortcut The label for a "key chord listener" control that sets the keys a key binding is bound to. - + Text Formatting Header for a control to how text is formatted - + Intense text style Name for a control to select how "intense" text is formatted (bold, bright, both or none) - + Intense text style Header for a control to select how "intense" text is formatted (bold, bright, both or none) - + None An option to choose from for the "intense text format" setting. When selected, "intense" text will not be rendered differently - + Bold font An option to choose from for the "intense text format" setting. When selected, "intense" text will be rendered as bold text - + Bright colors An option to choose from for the "intense text format" setting. When selected, "intense" text will be rendered in a brighter color - + Bold font with bright colors An option to choose from for the "intense text format" setting. When selected, "intense" text will be rendered as both bold text and in a brighter color - + Automatically hide window Header for a control to toggle the "Automatically hide window" setting. If enabled, the terminal will be hidden as soon as you switch to another window. - + If enabled, the terminal will be hidden as soon as you switch to another window. A description for what the "Automatically hide window" setting does. - + This color scheme cannot be deleted because it is included by default. Disclaimer presented near the controls to delete the selected color scheme when that functionality is disabled. - + This color scheme cannot be renamed because it is included by default. Disclaimer presented near the controls to rename the color scheme when that functionality is disabled. - + default Text label displayed adjacent to a "color scheme" entry signifying that it is currently set as the default color scheme to be used. - + Set as default Text label for a button that, when invoked, sets the selected color scheme as the default scheme to use. - + Warn when closing more than one tab Header for a control to toggle whether to show a confirm dialog box when closing the application with multiple tabs open. - + Warn when "Touch Keyboard and Handwriting Panel Service" is disabled - + Warn when trying to paste more than 5 KiB of characters - + Warn when trying to paste a "new line" character - + Windows Terminal is running in portable mode. A disclaimer that indicates that Terminal is running in a mode that saves settings to a different folder. - + https://go.microsoft.com/fwlink/?linkid=2229086 {Locked} - + Learn more. A hyperlink displayed near Settings_PortableModeNote.Text that the user can follow for more information. - + Missing fonts: This is a label that is followed by a list of missing fonts. - + Non-monospace fonts: This is a label that is followed by a list of proportional fonts. - + ENQ (Request Terminal Status) response {Locked=ENQ}{Locked="Request Terminal Status"} Header for a control to determine the response to the ENQ escape sequence. This is represented using a text box. - + The response that is sent when an ENQ control sequence is received. {Locked=ENQ} A description for what the "ENQ response" setting does. Presented near "Profile_AnswerbackMessage". - + Useful for troubleshooting or developing Terminal. Additional description for what the "debug features enabled" setting does. Presented near "Globals_DebugFeaturesEnabled.Header". - + Experimental: Display suggested input in rainbow colors This is a label for a setting that, when enabled, applies a rainbow coloring to the preview text from the suggestions UI. - + Experimental: Add key bindings to color selected text Header for a control to toggle adding a set of key bindings that can be used to apply coloring to selected text in a terminal session. - + These key bindings can highlight the selected text or all instances of the selected text with a specified color. Additional text for a control to toggle adding a set of key bindings that can be used to apply coloring to selected text in a terminal session. Presented near "Globals_EnableColorSelection.Header". - + Allow acrylic material in unfocused windows Header for a control to toggle allowing unfocused windows to have an acrylic background. - + Display a shield in the title bar when Windows Terminal is running as Administrator Header for a control to toggle displaying a shield in the title bar of the app. "Admin" refers to elevated sessions like "run as Admin" - + Show tabs in full screen Header for a control to toggle if the app should show the tabs when in full screen state. @@ -1969,44 +1969,44 @@ When enabled, the tab bar will be visible when the app is full screen A description for what the "show tabs in full screen" setting does. - + Path translation Name for a control to select how file and directory paths are translated. - + Path translation Name for a control to select how file and directory paths are translated. - + Controls how file and directory paths are translated during drag-and-drop operations. A description for what the "path translation" setting does. Presented near "Profile_PathTranslationStyle.Header". - + None An option to choose from for the "path translation" setting. - + WSL (C:\ -> /mnt/c) {Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting. - + Cygwin (C:\ -> /cygdrive/c) {Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting. - + MSYS2 (C:\ -> /c) {Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting. - + Profile no longer detected - + This automatically-detected profile appears to have been uninstalled. Changes you have made to it are preserved, but it cannot be used until it has been reinstalled. - + Original Source - + Indicates the software that originally created this profile. From 6a6fcd95ee3bc6dcd09d479acf8b4c1fca7f4485 Mon Sep 17 00:00:00 2001 From: geekjosh Date: Sat, 16 Nov 2024 16:31:54 +0000 Subject: [PATCH 10/13] Fixed resources file formatting --- .../TerminalSettingsEditor/Resources/en-US/Resources.resw | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw b/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw index f8834188f62..83554647c2b 100644 --- a/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw +++ b/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw @@ -1965,7 +1965,7 @@ Show tabs in full screen Header for a control to toggle if the app should show the tabs when in full screen state. - + When enabled, the tab bar will be visible when the app is full screen A description for what the "show tabs in full screen" setting does. From 61f0e837df19da1b0e95d9844634bfe93ad0d460 Mon Sep 17 00:00:00 2001 From: Josh Johnson Date: Sat, 14 Dec 2024 20:10:56 +0000 Subject: [PATCH 11/13] Update src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw Co-authored-by: Dustin L. Howett --- .../TerminalSettingsEditor/Resources/en-US/Resources.resw | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw b/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw index 83554647c2b..c08da1e7e4f 100644 --- a/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw +++ b/src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw @@ -1966,7 +1966,7 @@ Header for a control to toggle if the app should show the tabs when in full screen state. - When enabled, the tab bar will be visible when the app is full screen + When enabled, the tab bar will be visible when the app is full screen. A description for what the "show tabs in full screen" setting does. From ad23057f9104d72ae0d9242a6568d5a7e9966a72 Mon Sep 17 00:00:00 2001 From: Josh Johnson Date: Sat, 14 Dec 2024 20:12:15 +0000 Subject: [PATCH 12/13] Update src/cascadia/WindowsTerminal/NonClientIslandWindow.cpp Co-authored-by: Dustin L. Howett --- src/cascadia/WindowsTerminal/NonClientIslandWindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cascadia/WindowsTerminal/NonClientIslandWindow.cpp b/src/cascadia/WindowsTerminal/NonClientIslandWindow.cpp index 76be837b2b3..e7c52e827bf 100644 --- a/src/cascadia/WindowsTerminal/NonClientIslandWindow.cpp +++ b/src/cascadia/WindowsTerminal/NonClientIslandWindow.cpp @@ -1186,7 +1186,7 @@ void NonClientIslandWindow::_UpdateTitlebarVisibility() // Arguments: // - // Return Value: -// - true if the titlebar is visible +// - true iff the titlebar is visible bool NonClientIslandWindow::_IsTitlebarVisible() const { return !_borderless && (!_fullscreen || _showTabsFullscreen); From 660d84d062b25d965b978af3e323fc009d527ed5 Mon Sep 17 00:00:00 2001 From: geekjosh Date: Sat, 14 Dec 2024 21:03:50 +0000 Subject: [PATCH 13/13] Fixed code formatting following merge --- src/cascadia/TerminalSettingsModel/MTSMSettings.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cascadia/TerminalSettingsModel/MTSMSettings.h b/src/cascadia/TerminalSettingsModel/MTSMSettings.h index 971a95d7942..e74a5c8b3b0 100644 --- a/src/cascadia/TerminalSettingsModel/MTSMSettings.h +++ b/src/cascadia/TerminalSettingsModel/MTSMSettings.h @@ -67,7 +67,7 @@ Author(s): X(bool, EnableShellCompletionMenu, "experimental.enableShellCompletionMenu", false) \ X(bool, EnableUnfocusedAcrylic, "compatibility.enableUnfocusedAcrylic", true) \ X(winrt::Windows::Foundation::Collections::IVector, NewTabMenu, "newTabMenu", winrt::single_threaded_vector({ Model::RemainingProfilesEntry{} })) \ - X(bool, AllowHeadless, "compatibility.allowHeadless", false) \ \ + X(bool, AllowHeadless, "compatibility.allowHeadless", false) \ X(hstring, SearchWebDefaultQueryUrl, "searchWebDefaultQueryUrl", L"https://www.bing.com/search?q=%22%s%22") \ X(bool, ShowTabsFullscreen, "showTabsFullscreen", false)