[PR #2208] Clean up boundary between terminal app and terminal page #24857

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

Original Pull Request: https://github.com/microsoft/terminal/pull/2208

State: closed
Merged: Yes


This PR is for this project: https://github.com/microsoft/terminal/issues/1878

Refere

PR Checklist

For now, the new TerminalPage class includes;

global error dialogs
ETW global registration
tab management
tab icons
clipboard management
ETW tab logging
key bindings

And App is responsible for:
settings
settings reload

One issue remaining for now is that I have not figured out how to move the four winrt event handlers in App down to Terminal. I have some work-arounds to attach AppHost methods to the event handlers, but I am still working on this.

Test: According to Griese, we do not have integration/unit tests for now. I have manually tested the app with following actions:

Open new tabs
close tabs
close the last tab
resize window
minimize/restore
ShowTitleBar, true/false
change settings: font size, background color, useAcrylic
Copy/Paste with mouse/keyboard
Tab switch/add/close/ using keys
About button
Split pane vertically and horizontally
Resize panes with keys
Move focus on different panes with keys
Change theme while the app is on.
Change cmd title while the app is on

**Original Pull Request:** https://github.com/microsoft/terminal/pull/2208 **State:** closed **Merged:** Yes --- <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> This PR is for this project: https://github.com/microsoft/terminal/issues/1878 <!-- Other than the issue solved, is this relevant to any other issues/existing PRs? --> ## Refere <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist * [x] Closes #1878 * [ ] Tests added/passed * [ ] ~Requires documentation to be updated~ * [x] I've discussed this with core contributors already. <!-- Provide a more detailed description of the PR, other things fixed or any additional comments/features here --> For now, the new TerminalPage class includes; global error dialogs ETW global registration tab management tab icons clipboard management ETW tab logging key bindings And App is responsible for: settings settings reload One issue remaining for now is that I have not figured out how to move the four winrt event handlers in App down to Terminal. I have some work-arounds to attach AppHost methods to the event handlers, but I am still working on this. <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> Test: According to Griese, we do not have integration/unit tests for now. I have manually tested the app with following actions: Open new tabs close tabs close the last tab resize window minimize/restore ShowTitleBar, true/false change settings: font size, background color, useAcrylic Copy/Paste with mouse/keyboard Tab switch/add/close/ using keys About button Split pane vertically and horizontally Resize panes with keys Move focus on different panes with keys Change theme while the app is on. Change cmd title while the app is on
claunia added the pull-request label 2026-01-31 09:05:46 +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#24857