microsoft / microsoft/terminal

Wrap to next tab when attempting to move to pane beyond edge of current tab

Open
#20,383 2 comments 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

In Zellij, when you are in the rightmost pane of a tab, and you use the keybind for moving to the next pane to the right, you instead move to the leftmost pane in the next tab. When in the leftmost pane of a tab, moving a pane to the left sends you to the rightmost pane of the previous tab. I would like to see this in terminal.

### Proposed technical implementation details

I have basic behaviour (i.e. the easiest bit) for this working, but not tests or settings.

There are still questions about which pane to switch to if you have multiple panes at the edge of the new tab, that would be viable candidates e.g. do you
- try to pick the pane that is always the topmost one in the new tab
- try to align verticality of the new pane?
- go to the last focused pane in the new tab?

The logic for moving panes generally could probably apply here, and treat the join between tabs as just another pane separator (join the pane trees of the two tabs, as if they were a horizontal split at the highest level)

Contributor guide

Open the contributing guide

Research direction

The issue names no files or tests; start by reviewing the existing logic for moving panes and the reported basic behavior. Decide how the destination pane is selected across tab boundaries, then define the needed settings and tests. Done means moving right from the rightmost pane enters the next tab and moving left from the leftmost pane enters the previous tab.

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
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.