microsoft / microsoft/terminal

Allow the user to "Pin" tabs

Open
#5,969 17 comments 8 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area-UserInterface Issue-Task Product-Terminal
Dominant language
C++
Stars
105k
Forks
9.6k
Avg merge
3d 17h
Merged PRs (30d)
29

Description

With #5787 merging soon, we'll be able to have compact tabs, the same size as "pinned" tabs in lots of browsers.

We should add a context menu option to let users pin tabs as well. When tabs are pinned, they'd move to the start of the list of tabs, to the left of the test of the tabs. We'd probably need to have different lists for pinned vs normal tabs.

Trickily, pinned tabs could only be reordered within the range of the pinned tabs - so it can't be [pinned, pinned, normal, pinned, normal] tab. That might be tricky to pull off.

A follow-up could be linked to #961 where the pinned tabs are re-started, but not the unpinned ones. I think this is kinda similar to how browsers handle pinned tabs. We'd need to reconcile this with #756 - If the user has tabs pinned, then do those re-open, and the startup configuration the user specifies? We'd want to have a comprehensive story before we start on either story.

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 by reviewing the compact-tab work in #5787 and the related startup discussions in #961 and #756. Trace the tab context-menu and tab-list entry points, then define how pinned and normal tabs are separated, reordered, and restored. Done means pinned tabs stay at the start, can be reordered only among themselves, and the startup behavior is reconciled with existing configuration.

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
Quiet
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.