[PR #9907] [MERGED] Implement UI for choosing default terminal inside Settings page #27802

Open
opened 2026-01-31 09:24:19 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/9907
Author: @miniksa
Created: 4/20/2021
Status: Merged
Merged: 4/28/2021
Merged by: @undefined

Base: mainHead: dev/miniksa/term_def_ui


📝 Commits (10+)

  • 9d51bc5 Start implementing default terminal by loading it into a suitable place in the TSM and re-enabling the XAML
  • 26a1df7 Get it to work.
  • 3827fe8 Pipe through logo from applications
  • d244012 Move strings to localization
  • 0b3d8e5 Use empty version for the OS one instead of looking it up.
  • 558dd8a Spelling things from the appxmanifest.
  • dbad474 undo change to profile dropdown
  • 07334dd Add IUri with the other interface APIs.
  • f16b57a Code format pass.
  • 13cb2b6 Refine layout of drop down

📊 Changes

23 files changed (+474 additions, -89 deletions)

View changed files

📝 .github/actions/spelling/dictionary/apis.txt (+5 -0)
📝 .github/actions/spelling/dictionary/microsoft.txt (+2 -0)
📝 .github/actions/spelling/expect/expect.txt (+2 -0)
📝 src/cascadia/LocalTests_SettingsModel/SettingsModel.LocalTests.vcxproj (+1 -0)
📝 src/cascadia/TerminalSettingsEditor/Launch.cpp (+10 -17)
📝 src/cascadia/TerminalSettingsEditor/Launch.h (+0 -4)
📝 src/cascadia/TerminalSettingsEditor/Launch.idl (+0 -3)
📝 src/cascadia/TerminalSettingsEditor/Launch.xaml (+55 -8)
📝 src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw (+1 -1)
📝 src/cascadia/TerminalSettingsModel/CascadiaSettings.cpp (+84 -1)
📝 src/cascadia/TerminalSettingsModel/CascadiaSettings.h (+10 -0)
📝 src/cascadia/TerminalSettingsModel/CascadiaSettings.idl (+6 -0)
📝 src/cascadia/TerminalSettingsModel/CascadiaSettingsSerialization.cpp (+4 -0)
src/cascadia/TerminalSettingsModel/DefaultTerminal.cpp (+91 -0)
src/cascadia/TerminalSettingsModel/DefaultTerminal.h (+52 -0)
src/cascadia/TerminalSettingsModel/DefaultTerminal.idl (+16 -0)
📝 src/cascadia/TerminalSettingsModel/Microsoft.Terminal.Settings.ModelLib.vcxproj (+8 -1)
📝 src/cascadia/TerminalSettingsModel/Microsoft.Terminal.Settings.ModelLib.vcxproj.filters (+7 -1)
📝 src/cascadia/TerminalSettingsModel/Resources/en-US/Resources.resw (+36 -28)
📝 src/cascadia/TerminalSettingsModel/dll/Microsoft.Terminal.Settings.Model.vcxproj (+3 -0)

...and 3 more files

📄 Description

Implement dropdown menu for choosing a default terminal application from inside the Windows Terminal Settings UI

PR Checklist

Detailed Description of the Pull Request / Additional comments

  • Adds dropdown menu and a template card for displaying the available default applications (using the same lookup code as the console property sheet console.dll)
  • Adds model to TSM for adapting the data for display and binding on XAML
  • Lookup occurs on every page reload. Persistence only happens on Save Changes.
  • Manifest changed for Terminal to add capability to opt-out of registry redirection so we can edit this setting

Validation Steps Performed

  • Flipped the menu and pressed Save Changes and launched cmd from run box... it moved between the two.
  • Flipped system theme from light to dark and ensured secondary color looked good
  • Flipped the status with a different mechanism (conhost propsheet) and then reopened settings page and confirmed it loaded the updated status

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/9907 **Author:** [@miniksa](https://github.com/miniksa) **Created:** 4/20/2021 **Status:** ✅ Merged **Merged:** 4/28/2021 **Merged by:** [@undefined](undefined) **Base:** `main` ← **Head:** `dev/miniksa/term_def_ui` --- ### 📝 Commits (10+) - [`9d51bc5`](https://github.com/microsoft/terminal/commit/9d51bc54ff76f4e822976434c6ac5019eb7eb375) Start implementing default terminal by loading it into a suitable place in the TSM and re-enabling the XAML - [`26a1df7`](https://github.com/microsoft/terminal/commit/26a1df755e3a6e3a1a261a2844baeeaa1ef23081) Get it to work. - [`3827fe8`](https://github.com/microsoft/terminal/commit/3827fe8f2c9f0a82d969b1a3b5ce607a98651e4d) Pipe through logo from applications - [`d244012`](https://github.com/microsoft/terminal/commit/d244012ff2932834a7676928121a9e42065a3cca) Move strings to localization - [`0b3d8e5`](https://github.com/microsoft/terminal/commit/0b3d8e577dd67985409e4aca4618896f6199cd57) Use empty version for the OS one instead of looking it up. - [`558dd8a`](https://github.com/microsoft/terminal/commit/558dd8a2c3f2522d391164904ad312514566b570) Spelling things from the appxmanifest. - [`dbad474`](https://github.com/microsoft/terminal/commit/dbad474b9afeea7501e667860c5bcd5c85e52e80) undo change to profile dropdown - [`07334dd`](https://github.com/microsoft/terminal/commit/07334ddd82dad56c98d6fadca4780b4f14a9b44f) Add IUri with the other interface APIs. - [`f16b57a`](https://github.com/microsoft/terminal/commit/f16b57a43d3db0610d6ed104e764cf0174bff2be) Code format pass. - [`13cb2b6`](https://github.com/microsoft/terminal/commit/13cb2b68b0826ea45a4c3968abbcf96011564338) Refine layout of drop down ### 📊 Changes **23 files changed** (+474 additions, -89 deletions) <details> <summary>View changed files</summary> 📝 `.github/actions/spelling/dictionary/apis.txt` (+5 -0) 📝 `.github/actions/spelling/dictionary/microsoft.txt` (+2 -0) 📝 `.github/actions/spelling/expect/expect.txt` (+2 -0) 📝 `src/cascadia/LocalTests_SettingsModel/SettingsModel.LocalTests.vcxproj` (+1 -0) 📝 `src/cascadia/TerminalSettingsEditor/Launch.cpp` (+10 -17) 📝 `src/cascadia/TerminalSettingsEditor/Launch.h` (+0 -4) 📝 `src/cascadia/TerminalSettingsEditor/Launch.idl` (+0 -3) 📝 `src/cascadia/TerminalSettingsEditor/Launch.xaml` (+55 -8) 📝 `src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw` (+1 -1) 📝 `src/cascadia/TerminalSettingsModel/CascadiaSettings.cpp` (+84 -1) 📝 `src/cascadia/TerminalSettingsModel/CascadiaSettings.h` (+10 -0) 📝 `src/cascadia/TerminalSettingsModel/CascadiaSettings.idl` (+6 -0) 📝 `src/cascadia/TerminalSettingsModel/CascadiaSettingsSerialization.cpp` (+4 -0) ➕ `src/cascadia/TerminalSettingsModel/DefaultTerminal.cpp` (+91 -0) ➕ `src/cascadia/TerminalSettingsModel/DefaultTerminal.h` (+52 -0) ➕ `src/cascadia/TerminalSettingsModel/DefaultTerminal.idl` (+16 -0) 📝 `src/cascadia/TerminalSettingsModel/Microsoft.Terminal.Settings.ModelLib.vcxproj` (+8 -1) 📝 `src/cascadia/TerminalSettingsModel/Microsoft.Terminal.Settings.ModelLib.vcxproj.filters` (+7 -1) 📝 `src/cascadia/TerminalSettingsModel/Resources/en-US/Resources.resw` (+36 -28) 📝 `src/cascadia/TerminalSettingsModel/dll/Microsoft.Terminal.Settings.Model.vcxproj` (+3 -0) _...and 3 more files_ </details> ### 📄 Description Implement dropdown menu for choosing a default terminal application from inside the Windows Terminal Settings UI ## PR Checklist * [x] Closes #9463 * [x] I work here. * [x] Manual tests passed * [x] https://github.com/MicrosoftDocs/terminal/issues/314 (and cross reference #9462) ## Detailed Description of the Pull Request / Additional comments - Adds dropdown menu and a template card for displaying the available default applications (using the same lookup code as the console property sheet `console.dll`) - Adds model to TSM for adapting the data for display and binding on XAML - Lookup occurs on every page reload. Persistence only happens on Save Changes. - Manifest changed for Terminal to add capability to opt-out of registry redirection so we can edit this setting ## Validation Steps Performed - [x] Flipped the menu and pressed Save Changes and launched cmd from run box... it moved between the two. - [x] Flipped system theme from light to dark and ensured secondary color looked good - [x] Flipped the status with a different mechanism (conhost propsheet) and then reopened settings page and confirmed it loaded the updated status --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:24:19 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#27802