[PR #19127] feat: add option to enable zoom with ctrl + scroll #31712

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

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

State: closed
Merged: Yes


Summary of the Pull Request

Introduces a setting to enable/disable font size changes in the terminal when holding Ctrl and scrolling, giving users more control over zoom actions.

References and Relevant Issues

https://github.com/microsoft/terminal/issues/11710
https://github.com/microsoft/terminal/issues/5708
https://github.com/microsoft/terminal/issues/3793
https://github.com/microsoft/terminal/issues/11906
https://github.com/microsoft/terminal/issues/3990
https://github.com/microsoft/terminal/issues/14627

Detailed Description of the Pull Request / Additional comments

This PR adds a new global setting scrollToZoom that allows users to enable font zooming with scrolling. When disabled, this setting prevents accidental font size changes that can occur when users scroll while holding the Ctrl key.

Note: after disabling this setting, users may still change font size using Ctrl+ and Ctrl- keyboard shortcuts. Other Ctrl+Scroll functionality (like transparency adjustments) remains unaffected.

Validation Steps Performed

  • For testing, I built the project with Invoke-OpenConsoleBuild -m "-p:Configuration=Release,Platform=x64" and registered it using \repos\terminal\src\cascadia\CascadiaPackage\bin\x64\Release\AppxManifest.xml
    image

  • Verified the setting can be toggled in the Settings UI (Interaction tab)
    image

  • Confirmed that when disabled, holding Ctrl and scrolling no longer changes font size

  • Validated that the setting persists across terminal restarts

PR Checklist


Note: I used the existing FocusFollowMouse setting as a reference for implementing this.

**Original Pull Request:** https://github.com/microsoft/terminal/pull/19127 **State:** closed **Merged:** Yes --- ## Summary of the Pull Request Introduces a setting to enable/disable font size changes in the terminal when holding Ctrl and scrolling, giving users more control over zoom actions. ## References and Relevant Issues https://github.com/microsoft/terminal/issues/11710 https://github.com/microsoft/terminal/issues/5708 https://github.com/microsoft/terminal/issues/3793 https://github.com/microsoft/terminal/issues/11906 https://github.com/microsoft/terminal/issues/3990 https://github.com/microsoft/terminal/issues/14627 ## Detailed Description of the Pull Request / Additional comments This PR adds a new global setting `scrollToZoom` that allows users to enable font zooming with scrolling. When disabled, **this setting prevents accidental font size changes** that can occur when users scroll while holding the Ctrl key. Note: after disabling this setting, users may still change font size using `Ctrl+` and `Ctrl-` keyboard shortcuts. Other Ctrl+Scroll functionality (like transparency adjustments) remains unaffected. ## Validation Steps Performed - For testing, I built the project with `Invoke-OpenConsoleBuild -m "-p:Configuration=Release,Platform=x64"` and registered it using `\repos\terminal\src\cascadia\CascadiaPackage\bin\x64\Release\AppxManifest.xml` <img width="345" height="64" alt="image" src="https://github.com/user-attachments/assets/91bcdc43-3b8c-4d54-bedb-1183397db94b" /> - Verified the setting can be toggled in the Settings UI (Interaction tab) <img width="781" height="114" alt="image" src="https://github.com/user-attachments/assets/2dd663cb-3bdf-44c1-8cf7-fde76651b857" /> - Confirmed that when disabled, holding Ctrl and scrolling no longer changes font size - Validated that the setting persists across terminal restarts ## PR Checklist - [x] Closes #11710 - [x] Closes #3793 - [x] Closes #11906 - [x] Closes #3990 - [x] Tests added/**passed** `Summary: Total=278, Passed=278, Failed=0, Blocked=0, Not Run=0, Skipped=0` - [x] Documentation updated - If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: https://github.com/MicrosoftDocs/terminal/pull/871 - [ ] Schema updated (if necessary) --- Note: I used the existing `FocusFollowMouse` setting as a reference for implementing this.
claunia added the pull-request label 2026-01-31 09:49:05 +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#31712