microsoft / microsoft/terminal

Resize window to maintain width (in chars) and height (in columns) when using ctrl-+ or ctrl--

Open
#10,466 7 comments 0 reactions 0 assignees View on GitHub
Area-Rendering Help Wanted Issue-Task Product-Terminal
Dominant language
C++
Stars
105k
Forks
9.6k
Avg merge
3d 17h
Merged PRs (30d)
29

Description

# Description of the new feature/enhancement
The current reduces or increases font size when Ctrl-- or Ctrl-+ are pressed. However the window width and height in pixels stays the say. This leads to visual inconsistencies when using apps like vi on ubuntu. I'd like to propose that the window size changes to maintain the width in characters / line and and height in columns when the font size is changed. This proposed behavior is also the one coded in Ubuntu and MacOSX.

# Proposed technical implementation details (optional)

If your default characters/line is 120 and the default lines is 40, and the font size is 12, when the Ctrl-+ button is pressed the font size increases to 14. What should happen then is that the Terminal window's width should change to one that holds 120 characters at Font Size 14. And it's height should change to one that holds 40 lines at size 14. So the Terminal window should resize to be slightly larger. Similarly when Ctrl-- is pressed, the Terminal window should resize to become smaller. This is the default in other Unix platforms.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the Ctrl-+ and Ctrl-- handling that changes the font size, then find the terminal window sizing path. Verify the requested behavior using the stated 120-character by 40-line example: after each font-size change, the window should still fit the same character and line counts.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, desktop
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.