microsoft / microsoft/terminal

Quake mode: Add support for reserved tabs

Open
#10,279 19 comments 3 reactions 0 assignees View on GitHub
Area-Settings Area-Windowing 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 quake mode implementation entails a window with a well-known name. This window gets specially handled with regard to summoning: it gets docked and focus mode is turned on. It is otherwise a normal window capable of hosting multiple tabs.

There are existing requests filed for supporting multiple quake mode windows, each with a different profile running. That seems unnecessary given the ability for an existing terminal window to host multiple profiles already. What is lacking is the ability to specify *which* tab to bring active on summon.

# Proposed technical implementation details (optional)

Allow the ability to define reserved tabs by name:

```
"windows": [
{
"name": "_quake",
"tabs": [
{ "profile": "", "name": "my PS tab" },
{ "profile": "...", "name": "my scratchpad tab" },
{ "profile": "...", "name": "my wolfram tab 1" },
{ "profile": "...", "name": "my wolfram tab 2" },
{ "profile": "...", "name": "org mode" },
{ "profile": "...", "name": "dashboard" }
]
}
]
```

or, alternatively, add "window" and "tab" names to the existing profile schema, binding them exclusively:

```
{
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"hidden": true,
"name": "PowerShell",
"window": "_quake",
"tab": "my PS tab"
}
```

Then add an argument to wt.exe that allows specification of the specific tab name to activate (or, if the alternative approach is taken, a profile which has a window and tab name defined). If it is not already live, it will be activated. In this way, hot keys can be defined to summon specific tabs.

On exit or close of any of the named tabs, the tab will remain open, waiting to restart the command in question (immediately, if currently active).

Additional tabs created in the window will follow after the named tabs.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the existing quake mode behavior and the wt.exe entry point, then review how window, tab, and profile configuration are represented. The issue names no files or tests, so identify the relevant implementation and test locations before proceeding. Done means reserved tabs can be summoned by name, remain available after closing, and stay ahead of additional tabs.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, desktop
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.