[PR #929] Apply a GDI region to the top level Island window to allow dragging with a single Xaml Island #24404

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

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

State: closed
Merged: Yes


Summary of the Pull Request

When Terminal is drawing in the non client area we no longer create 2 islands. Instead we create a single island and create a region that "pokes" the drag-able title bar area in the top right corner of the main window of terminal.

Capture

This change also fixes:

  • A crash at shutdown where the Application object is released early.
  • DestroyWindow is not getting called at shutdown for the all HWND (This have the effect of showing the window for a brief period after closing the app)
  • WindowsDesktopXamlSource.Close was not getting called at shutdown.

References

PR Checklist

  • Closes 872, 1085
  • CLA signed. If not, go over here and sign the CLA
  • Tests added/passed
  • Requires documentation to be updated
  • I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

Detailed Description of the Pull Request / Additional comments

**Original Pull Request:** https://github.com/microsoft/terminal/pull/929 **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)? --> ## Summary of the Pull Request When Terminal is drawing in the non client area we no longer create 2 islands. Instead we create a single island and create a region that "pokes" the drag-able title bar area in the top right corner of the main window of terminal. <img width="644" alt="Capture" src="https://user-images.githubusercontent.com/2091582/59122609-0b163e80-8910-11e9-8abf-c1fb67a6cbab.PNG"> This change also fixes: - A crash at shutdown where the Application object is released early. - DestroyWindow is not getting called at shutdown for the all HWND (This have the effect of showing the window for a brief period after closing the app) - WindowsDesktopXamlSource.Close was not getting called at shutdown. <!-- Other than the issue solved, is this relevant to any other issues/existing PRs? --> ## References <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist * [X] Closes [872](https://github.com/microsoft/terminal/issues/872), [1085](https://github.com/microsoft/terminal/issues/1085) * [X] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Requires documentation to be updated * [X] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx <!-- Provide a more detailed description of the PR, other things fixed or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments
claunia added the pull-request label 2026-01-31 09:03:07 +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#24404