Allow users to specify a base settings path, enabling multiple local state and multi-instance scenarios. #18696
Labels
In-PR
This issue has a related PR
Issue-Feature
Complex enough to require an in depth planning process and actual budgeted, scheduled work.
Needs-Tag-Fix
Doesn't match tag requirements
Needs-Triage
It's a new issue that the core contributor team needs to triage at the next triage meeting
Description of the new feature
Multi local state and settings and multi instance with WT_BASE_SETTINGS_PATH env
Summary
Introduces the WT_BASE_SETTINGS_PATH environment variable to allow users to specify a base settings path for Windows Terminal, enabling multiple local states, settings and multi-instance scenarios.
Enhancements:
Proposed technical implementation details
Reviewer Guide
Introducing the ability to run multiple instances of Windows Terminal with separate settings and state by using the
WT_BASE_SETTINGS_PATH
environment variable. The changes modify the settings path retrieval logic and window class name generation to incorporate the environment variable, allowing for isolated settings for each instance.Sequence diagram for settings path retrieval with WT_BASE_SETTINGS_PATH
Sequence diagram for window class name generation with WT_BASE_SETTINGS_PATH
File-Level Changes
ENV_WT_BASE_SETTINGS_PATH
constant toFileUtils.cpp
andWindowEmperor.cpp
.GetBaseSettingsPath
andGetReleaseSettingsPath
functions, attempts to read the settings path from theENV_WT_BASE_SETTINGS_PATH
environment variable.WindowEmperor::HandleCommandlineArgs
to allow multiple instances.src/cascadia/TerminalSettingsModel/FileUtils.cpp
src/cascadia/WindowsTerminal/WindowEmperor.cpp
The text was updated successfully, but these errors were encountered: