microsoft / microsoft/terminal

[Windows Terminal FR] Open alternate screen buffer in new tab

Open
#11,012 1 comment 0 reactions 0 assignees View on GitHub
Area-UserInterface Issue-Feature 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 an application sets alternate screen buffer mode (e.g. `tput smcup`), Windows Terminal saves and clears everything in the viewport, but still allows you to scroll up and view the _rest_ of the scrollback buffer. This is a problem if you want to view something in recent history while using a full-screen application.

Some terminal emulators prevent you from accessing the scrollback buffer at all in the alternate screen mode, which is more intuitive but even less useful.

A better option might be to separate the two buffers: display the existing scrollback buffer and alternate screen buffer in different windows.

# Proposed technical implementation details (optional)

When a terminal has the alternate screen buffer mode set, it would become split across two tabs: an inactive tab with the full, existing scrollback buffer, and an active tab with _only_ the alternate screen buffer.

When alternate screen buffer is disabled/reset, the first tab would become active again and the second tab would be closed.

Contributor guide

Open the contributing guide

Research direction

Start by investigating how Windows Terminal currently handles the alternate screen buffer, viewport clearing, and scrollback access. Review the proposed two-tab behavior, including returning to the first tab and closing the alternate-screen tab when the mode is reset. Done would require an agreed design and working behavior for separating both buffers.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.