-
Notifications
You must be signed in to change notification settings - Fork 9.1k
Description
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-splitonce 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.