microsoft / microsoft/terminal

Normalize terminal padding in maximized or fullscreened windows

Open
#6,495 2 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area-TerminalControl 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

When the window is in an un-maximized state, Terminal snaps window resizes to the closest character, which makes sense -- this way, the terminal padding on all 4 edges is what it's set to in settings.json.
However, when the window is maximized or in fullscreen, Terminal's size depends on the size of the monitor, which means the padding is often mismatched. When this happens, Terminal preserves the top and left padding. This makes some graphical CLI programs look a bit odd:

A full-screened Terminal with weechat running with equal padding on the left and top sides, but greater than usual padding on the right and especially the bottom

It might be nice to have an option to make the left-right and top-bottom paddings equal in this situation, so that the terminal content is centred within the window rather than at the top left.

Proposed technical implementation details (optional)

Of course, the padding setting should still be used as a minimum padding, and I think it makes sense to have this as a per-profile option (it makes more sense when you're running full-screen CLI programs like weechat, than if you're just running a shell.)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the existing padding behavior described for settings.json and compare it with maximized and fullscreen window sizing. Determine how a per-profile option could preserve padding as a minimum while centering terminal content when dimensions do not align to character cells. Done means equal left-right and top-bottom padding in those states without changing unmaximized resizing.

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.