Skip to content

Ability to select and interact with subtrees of panes #10733

@Rosefield

Description

@Rosefield

Description of the new feature/enhancement

There are a number of features that exist or are being made that allows one to manipulate the tree of panes from the leaves, e.g. resize-pane, split-pane, move-pane, toggle-split, etc. It would be helpful if this functionality could be extended such that a user can select a particular subtree and interact with it directly.

Some examples
Suppose you have the following grids

1
---------------------
|    1    |    3    |
----------+----------
|    2    |    4    |
---------------------  

2
-----------
|    1    |
|---------|
|    2    | 
|---------|
|    3    |
|---------|
|    4    |
-----------

where the tree for each is

  /\
/\  /\
1 2 3 4

currently there is no way to:

  • For the 2nd grid to resize the split between panes 2/3 (because resize will only work on the 1/2 or 3/4 parent)
  • For either, add a split on a parent, e.g. create the tree where an existing subtree is made into the child of a new parent
  / \
/\   /\
5 /\ 3 4
 1 2
  • Once the base features are added for move-panes, swap-panes, etc, it would be nice to be able to take an entire subtree and swap it with another pane/subtree, move it to another tab, etc in one action
  • For toggle-split once it is added because there is no way to select a parent of a pane, there is no way to turn grid 1 into grid 2 because only parents of leaves can be modified.

Proposed technical implementation details (optional)

One possible solution to this would be to have a hotkey (or other mechanism) to select the parent of the currently focused pane. This parent would then itself be focused and some of the existing set of actions could be applied to it. This might require giving IDs to non-leaf panes so that they can be addressed individually.

A component of this could also be some mechanism to show the tree structure of the tab, perhaps just adding borders (in different colors?) to every pane and not just leaf panes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-UserInterfaceIssues pertaining to the user interface of the Console or TerminalIssue-FeatureComplex enough to require an in depth planning process and actual budgeted, scheduled work.Product-TerminalThe new Windows Terminal.Resolution-Fix-CommittedFix is checked in, but it might be 3-4 weeks until a release.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions