[PR #1885] [MERGED] Move most of TerminalApp's runtime Xaml to a .xaml file and class #24688

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

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/1885
Author: @DHowett-MSFT
Created: 7/9/2019
Status: Merged
Merged: 7/9/2019
Merged by: @DHowett-MSFT

Base: masterHead: dev/duhowett/xamlfile


📝 Commits (2)

  • d88fa68 Move most of TerminalApp's runtime xaml to a xaml file
  • f05db62 PR feedback

📊 Changes

12 files changed (+198 additions, -124 deletions)

View changed files

📝 src/cascadia/TerminalApp/App.cpp (+31 -102)
📝 src/cascadia/TerminalApp/App.h (+1 -2)
📝 src/cascadia/TerminalApp/App.idl (+0 -1)
📝 src/cascadia/TerminalApp/MinMaxCloseControl.cpp (+31 -16)
📝 src/cascadia/TerminalApp/MinMaxCloseControl.h (+5 -2)
📝 src/cascadia/TerminalApp/MinMaxCloseControl.idl (+3 -1)
📝 src/cascadia/TerminalApp/TerminalApp.vcxproj (+15 -0)
src/cascadia/TerminalApp/TerminalPage.cpp (+30 -0)
src/cascadia/TerminalApp/TerminalPage.h (+25 -0)
src/cascadia/TerminalApp/TerminalPage.idl (+11 -0)
src/cascadia/TerminalApp/TerminalPage.xaml (+45 -0)
📝 src/cascadia/TerminalApp/pch.h (+1 -0)

📄 Description

Summary of the Pull Request

This pull request migrates a lot of the manual Xaml construction from TerminalApp::App into a .xaml file. The benefits in doing this are myriad:

  • We can now use the live xaml designer to edit Terminal's layout!
  • It performs way better because we don't need a WinRT call for every object's every property
  • It is the groundwork for supporting multiple windows
  • It can be themed with theme resources without jumping through terrible, terrible hoops
  • The Xaml compiler produces all of the members for all of the named xaml objects all on its own!

It is, however, incomplete. I have only moved the xaml, I have not moved any of the logic. This is groundwork, and necessary for @cinnamon-msft to keep working on the UI. Followup issue #1878.

References

Mentioned in #929.

PR Checklist

  • Closes #xxx
  • I've discussed this with core contributors already.

Validation Steps Performed

  • Manual run with custom themes, settings, toggling "always show tabs" and "tabs in titlebar."

🔄 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/1885 **Author:** [@DHowett-MSFT](https://github.com/DHowett-MSFT) **Created:** 7/9/2019 **Status:** ✅ Merged **Merged:** 7/9/2019 **Merged by:** [@DHowett-MSFT](https://github.com/DHowett-MSFT) **Base:** `master` ← **Head:** `dev/duhowett/xamlfile` --- ### 📝 Commits (2) - [`d88fa68`](https://github.com/microsoft/terminal/commit/d88fa68a5b31d2ec9fc9d25c463349b9400c91f2) Move most of TerminalApp's runtime xaml to a xaml file - [`f05db62`](https://github.com/microsoft/terminal/commit/f05db6276ca3e308fbdb0c256c66d6f130259033) PR feedback ### 📊 Changes **12 files changed** (+198 additions, -124 deletions) <details> <summary>View changed files</summary> 📝 `src/cascadia/TerminalApp/App.cpp` (+31 -102) 📝 `src/cascadia/TerminalApp/App.h` (+1 -2) 📝 `src/cascadia/TerminalApp/App.idl` (+0 -1) 📝 `src/cascadia/TerminalApp/MinMaxCloseControl.cpp` (+31 -16) 📝 `src/cascadia/TerminalApp/MinMaxCloseControl.h` (+5 -2) 📝 `src/cascadia/TerminalApp/MinMaxCloseControl.idl` (+3 -1) 📝 `src/cascadia/TerminalApp/TerminalApp.vcxproj` (+15 -0) ➕ `src/cascadia/TerminalApp/TerminalPage.cpp` (+30 -0) ➕ `src/cascadia/TerminalApp/TerminalPage.h` (+25 -0) ➕ `src/cascadia/TerminalApp/TerminalPage.idl` (+11 -0) ➕ `src/cascadia/TerminalApp/TerminalPage.xaml` (+45 -0) 📝 `src/cascadia/TerminalApp/pch.h` (+1 -0) </details> ### 📄 Description ## Summary of the Pull Request This pull request migrates a lot of the manual Xaml construction from `TerminalApp::App` into a .xaml file. The benefits in doing this are myriad: * We can now use the live xaml designer to edit Terminal's layout! * It performs way better because we don't need a WinRT call for every object's every property * It is the groundwork for supporting multiple windows * It can be themed with theme resources without jumping through terrible, terrible hoops * The Xaml compiler produces all of the members for all of the named xaml objects all on its own! It is, however, incomplete. I have _only moved the xaml_, I have not moved any of the logic. This is groundwork, and necessary for @cinnamon-msft to keep working on the UI. Followup issue #1878. ## References Mentioned in #929. ## PR Checklist * [ ] Closes #xxx * [x] I've discussed this with core contributors already. ## Validation Steps Performed * Manual run with custom themes, settings, toggling "always show tabs" and "tabs in titlebar." --- <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:04:47 +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#24688