microsoft / microsoft/terminal
Quake mode: Add support for reserved tabs
- 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
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