From e4ef0cfe7efc22d79636232711ce5b74531ffa85 Mon Sep 17 00:00:00 2001 From: Fred Miller Date: Thu, 9 May 2019 00:20:16 +0800 Subject: [PATCH 1/5] Improve `startingDirectory` functionality This commit adds the `startingDirectory` property to the default-created `cmd` and `powershell` profiles, with the default value `%HOMEDRIVE%%HOMEPATH%`. Signed-off-by: Fred Miller --- src/cascadia/TerminalApp/CascadiaSettings.cpp | 3 ++- src/cascadia/TerminalApp/Profile.cpp | 5 +++++ src/cascadia/TerminalApp/Profile.h | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/cascadia/TerminalApp/CascadiaSettings.cpp b/src/cascadia/TerminalApp/CascadiaSettings.cpp index 0f36c880c69..5da8f2f27db 100644 --- a/src/cascadia/TerminalApp/CascadiaSettings.cpp +++ b/src/cascadia/TerminalApp/CascadiaSettings.cpp @@ -107,7 +107,6 @@ void CascadiaSettings::_CreateDefaultSchemes() _globals.GetColorSchemes().emplace_back(_CreateCampbellScheme()); _globals.GetColorSchemes().emplace_back(_CreateSolarizedDarkScheme()); _globals.GetColorSchemes().emplace_back(_CreateSolarizedLightScheme()); - } // Method Description: @@ -123,6 +122,7 @@ void CascadiaSettings::_CreateDefaultProfiles() Profile defaultProfile{}; defaultProfile.SetFontFace(L"Consolas"); defaultProfile.SetCommandline(L"cmd.exe"); + defaultProfile.SetStartingDirectory(L"%HOMEDRIVE%%HOMEPATH%"); defaultProfile.SetColorScheme({ L"Campbell" }); defaultProfile.SetAcrylicOpacity(0.75); defaultProfile.SetUseAcrylic(true); @@ -145,6 +145,7 @@ void CascadiaSettings::_CreateDefaultProfiles() } powershellProfile.SetFontFace(L"Courier New"); powershellProfile.SetCommandline(psCmdline); + powershellProfile.SetStartingDirectory(L"%HOMEDRIVE%%HOMEPATH%"); powershellProfile.SetColorScheme({ L"Campbell" }); powershellProfile.SetDefaultBackground(RGB(1, 36, 86)); powershellProfile.SetUseAcrylic(false); diff --git a/src/cascadia/TerminalApp/Profile.cpp b/src/cascadia/TerminalApp/Profile.cpp index df72007117b..3c8006be3ec 100644 --- a/src/cascadia/TerminalApp/Profile.cpp +++ b/src/cascadia/TerminalApp/Profile.cpp @@ -427,6 +427,11 @@ void Profile::SetCommandline(std::wstring cmdline) noexcept _commandline = cmdline; } +void Profile::SetStartingDirectory(std::wstring startingDirectory) noexcept +{ + _startingDirectory = startingDirectory; +} + void Profile::SetName(std::wstring name) noexcept { _name = name; diff --git a/src/cascadia/TerminalApp/Profile.h b/src/cascadia/TerminalApp/Profile.h index ddee3aa8e5f..1605ba0d7ad 100644 --- a/src/cascadia/TerminalApp/Profile.h +++ b/src/cascadia/TerminalApp/Profile.h @@ -40,6 +40,7 @@ class TerminalApp::Profile final void SetColorScheme(std::optional schemeName) noexcept; void SetAcrylicOpacity(double opacity) noexcept; void SetCommandline(std::wstring cmdline) noexcept; + void SetStartingDirectory(std::wstring startingDirectory) noexcept; void SetName(std::wstring name) noexcept; void SetUseAcrylic(bool useAcrylic) noexcept; void SetDefaultForeground(COLORREF defaultForeground) noexcept; From 43e9b9cb976673d6fe5b9d9128b6b4e286145b14 Mon Sep 17 00:00:00 2001 From: Fred Miller Date: Thu, 9 May 2019 09:46:09 +0800 Subject: [PATCH 2/5] Use %USERPROFILE% to replace %HOMEDRIVE%%HOMEPATH% This commit changes `%USERPROFILE%` in the default profiles to `%HOMEDRIVE%%HOMEPATH%`. https://stackoverflow.com/posts/36392591/revisions says `%USERPROFILE%` is better than `%HOMEDRIVE%%HOMEPATH%`, so changed it. Signed-off-by: Fred Miller --- src/cascadia/TerminalApp/CascadiaSettings.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cascadia/TerminalApp/CascadiaSettings.cpp b/src/cascadia/TerminalApp/CascadiaSettings.cpp index 5da8f2f27db..0b5b517f35c 100644 --- a/src/cascadia/TerminalApp/CascadiaSettings.cpp +++ b/src/cascadia/TerminalApp/CascadiaSettings.cpp @@ -122,7 +122,7 @@ void CascadiaSettings::_CreateDefaultProfiles() Profile defaultProfile{}; defaultProfile.SetFontFace(L"Consolas"); defaultProfile.SetCommandline(L"cmd.exe"); - defaultProfile.SetStartingDirectory(L"%HOMEDRIVE%%HOMEPATH%"); + defaultProfile.SetStartingDirectory(L"%USERPROFILE%"); defaultProfile.SetColorScheme({ L"Campbell" }); defaultProfile.SetAcrylicOpacity(0.75); defaultProfile.SetUseAcrylic(true); @@ -145,7 +145,7 @@ void CascadiaSettings::_CreateDefaultProfiles() } powershellProfile.SetFontFace(L"Courier New"); powershellProfile.SetCommandline(psCmdline); - powershellProfile.SetStartingDirectory(L"%HOMEDRIVE%%HOMEPATH%"); + powershellProfile.SetStartingDirectory(L"%USERPROFILE%"); powershellProfile.SetColorScheme({ L"Campbell" }); powershellProfile.SetDefaultBackground(RGB(1, 36, 86)); powershellProfile.SetUseAcrylic(false); From 37ac537bfebaa9f5de394f6174651b394274779a Mon Sep 17 00:00:00 2001 From: Fred Miller Date: Thu, 9 May 2019 00:20:16 +0800 Subject: [PATCH 3/5] Improve `startingDirectory` functionality This commit adds the `startingDirectory` property to the default-created `cmd` and `powershell` profiles, with the default value `%HOMEDRIVE%%HOMEPATH%`. Signed-off-by: Fred Miller --- src/cascadia/TerminalApp/CascadiaSettings.cpp | 3 ++- src/cascadia/TerminalApp/Profile.cpp | 5 +++++ src/cascadia/TerminalApp/Profile.h | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/cascadia/TerminalApp/CascadiaSettings.cpp b/src/cascadia/TerminalApp/CascadiaSettings.cpp index fa8f93f9086..78628dd57d5 100644 --- a/src/cascadia/TerminalApp/CascadiaSettings.cpp +++ b/src/cascadia/TerminalApp/CascadiaSettings.cpp @@ -107,7 +107,6 @@ void CascadiaSettings::_CreateDefaultSchemes() _globals.GetColorSchemes().emplace_back(_CreateCampbellScheme()); _globals.GetColorSchemes().emplace_back(_CreateSolarizedDarkScheme()); _globals.GetColorSchemes().emplace_back(_CreateSolarizedLightScheme()); - } // Method Description: @@ -123,6 +122,7 @@ void CascadiaSettings::_CreateDefaultProfiles() Profile cmdProfile{}; cmdProfile.SetFontFace(L"Consolas"); cmdProfile.SetCommandline(L"cmd.exe"); + cmdProfile.SetStartingDirectory(L"%HOMEDRIVE%%HOMEPATH%"); cmdProfile.SetColorScheme({ L"Campbell" }); cmdProfile.SetAcrylicOpacity(0.75); cmdProfile.SetUseAcrylic(true); @@ -143,6 +143,7 @@ void CascadiaSettings::_CreateDefaultProfiles() } powershellProfile.SetFontFace(L"Courier New"); powershellProfile.SetCommandline(psCmdline); + powershellProfile.SetStartingDirectory(L"%HOMEDRIVE%%HOMEPATH%"); powershellProfile.SetColorScheme({ L"Campbell" }); powershellProfile.SetDefaultBackground(RGB(1, 36, 86)); powershellProfile.SetUseAcrylic(false); diff --git a/src/cascadia/TerminalApp/Profile.cpp b/src/cascadia/TerminalApp/Profile.cpp index 6db689c920d..3e04ae22d8a 100644 --- a/src/cascadia/TerminalApp/Profile.cpp +++ b/src/cascadia/TerminalApp/Profile.cpp @@ -427,6 +427,11 @@ void Profile::SetCommandline(std::wstring cmdline) noexcept _commandline = cmdline; } +void Profile::SetStartingDirectory(std::wstring startingDirectory) noexcept +{ + _startingDirectory = startingDirectory; +} + void Profile::SetName(std::wstring name) noexcept { _name = name; diff --git a/src/cascadia/TerminalApp/Profile.h b/src/cascadia/TerminalApp/Profile.h index ddee3aa8e5f..1605ba0d7ad 100644 --- a/src/cascadia/TerminalApp/Profile.h +++ b/src/cascadia/TerminalApp/Profile.h @@ -40,6 +40,7 @@ class TerminalApp::Profile final void SetColorScheme(std::optional schemeName) noexcept; void SetAcrylicOpacity(double opacity) noexcept; void SetCommandline(std::wstring cmdline) noexcept; + void SetStartingDirectory(std::wstring startingDirectory) noexcept; void SetName(std::wstring name) noexcept; void SetUseAcrylic(bool useAcrylic) noexcept; void SetDefaultForeground(COLORREF defaultForeground) noexcept; From 94ea1d76f805ec01a6f9f912ca094f584d4e842a Mon Sep 17 00:00:00 2001 From: Fred Miller Date: Thu, 9 May 2019 09:46:09 +0800 Subject: [PATCH 4/5] Use %USERPROFILE% to replace %HOMEDRIVE%%HOMEPATH% This commit changes `%USERPROFILE%` in the default profiles to `%HOMEDRIVE%%HOMEPATH%`. https://stackoverflow.com/posts/36392591/revisions says `%USERPROFILE%` is better than `%HOMEDRIVE%%HOMEPATH%`, so changed it. Signed-off-by: Fred Miller --- src/cascadia/TerminalApp/CascadiaSettings.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cascadia/TerminalApp/CascadiaSettings.cpp b/src/cascadia/TerminalApp/CascadiaSettings.cpp index 78628dd57d5..44f3d010b7e 100644 --- a/src/cascadia/TerminalApp/CascadiaSettings.cpp +++ b/src/cascadia/TerminalApp/CascadiaSettings.cpp @@ -122,7 +122,7 @@ void CascadiaSettings::_CreateDefaultProfiles() Profile cmdProfile{}; cmdProfile.SetFontFace(L"Consolas"); cmdProfile.SetCommandline(L"cmd.exe"); - cmdProfile.SetStartingDirectory(L"%HOMEDRIVE%%HOMEPATH%"); + cmdProfile.SetStartingDirectory(L"%USERPROFILE%"); cmdProfile.SetColorScheme({ L"Campbell" }); cmdProfile.SetAcrylicOpacity(0.75); cmdProfile.SetUseAcrylic(true); @@ -143,7 +143,7 @@ void CascadiaSettings::_CreateDefaultProfiles() } powershellProfile.SetFontFace(L"Courier New"); powershellProfile.SetCommandline(psCmdline); - powershellProfile.SetStartingDirectory(L"%HOMEDRIVE%%HOMEPATH%"); + powershellProfile.SetStartingDirectory(L"%USERPROFILE%"); powershellProfile.SetColorScheme({ L"Campbell" }); powershellProfile.SetDefaultBackground(RGB(1, 36, 86)); powershellProfile.SetUseAcrylic(false); From a4e4780fba1a3db968d29c759233a9f293a5116d Mon Sep 17 00:00:00 2001 From: Fred Miller Date: Sat, 11 May 2019 14:02:42 +0800 Subject: [PATCH 5/5] Consolidate constant Refer to the externally defined constant in code. Signed-off-by: Fred Miller --- src/cascadia/TerminalApp/CascadiaSettings.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/cascadia/TerminalApp/CascadiaSettings.cpp b/src/cascadia/TerminalApp/CascadiaSettings.cpp index 44f3d010b7e..eceb32eb87e 100644 --- a/src/cascadia/TerminalApp/CascadiaSettings.cpp +++ b/src/cascadia/TerminalApp/CascadiaSettings.cpp @@ -6,6 +6,7 @@ #include #include "CascadiaSettings.h" #include "../../types/inc/utils.hpp" +#include "../../inc/DefaultSettings.h" using namespace winrt::Microsoft::Terminal::Settings; using namespace ::TerminalApp; @@ -122,7 +123,7 @@ void CascadiaSettings::_CreateDefaultProfiles() Profile cmdProfile{}; cmdProfile.SetFontFace(L"Consolas"); cmdProfile.SetCommandline(L"cmd.exe"); - cmdProfile.SetStartingDirectory(L"%USERPROFILE%"); + cmdProfile.SetStartingDirectory(DEFAULT_STARTING_DIRECTORY); cmdProfile.SetColorScheme({ L"Campbell" }); cmdProfile.SetAcrylicOpacity(0.75); cmdProfile.SetUseAcrylic(true); @@ -143,7 +144,7 @@ void CascadiaSettings::_CreateDefaultProfiles() } powershellProfile.SetFontFace(L"Courier New"); powershellProfile.SetCommandline(psCmdline); - powershellProfile.SetStartingDirectory(L"%USERPROFILE%"); + powershellProfile.SetStartingDirectory(DEFAULT_STARTING_DIRECTORY); powershellProfile.SetColorScheme({ L"Campbell" }); powershellProfile.SetDefaultBackground(RGB(1, 36, 86)); powershellProfile.SetUseAcrylic(false); @@ -151,7 +152,7 @@ void CascadiaSettings::_CreateDefaultProfiles() _profiles.emplace_back(powershellProfile); _profiles.emplace_back(cmdProfile); - + _globals.SetDefaultProfile(powershellProfile.GetGuid()); }