[PR #825] Add support for multiple panes in the same window #24330

Open
opened 2026-01-31 09:02:38 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/microsoft/terminal/pull/825

State: closed
Merged: Yes


image

This is probably good enough to PR, but might not be polished enough to ship quite yet. There's a LOT of work to still do one panes, even after this is checked in. See #1000 for the megathread of all panes related issues.

Things that might need todo's, and what issue they're linked to:

  • Clicking on a pane focuses it, but also starts a selection. This is probably #670
  • You can tab between panes. That's obviously unwanted. This is also related to #744
  • If you click on the separator's between panes, then on panes will be focused. Related to #528 but definitely different. #999
  • You can't resize panes. They're always 50% of their parent. #991 profiles.json formatting lost on save (#992)
  • You have to exit the shell to close the pane, there's no shortcut for "ClosePane" #993
  • You can only open a pane with the default profile #998
    • I left space for adding support for opening a specific pane, but it didn't really seem like there was a good keychord for doing this currently. Maybe if we added support for multi-key keychords, then it'd make more sense.
  • There's no real UI to indicate that a particular pane is focused, other than the blinking cursor. #994
  • You can't navigate the focus of panes with the keyboard currently. #995
  • I'm not sure Ctrl+Shift+plus and Ctrl+Shift+- are the right combo for splitting. Maybe we move them to Alt+Shift+plus/-
    • This would nicely fit with Alt+Shift+Arrows to navigate focus.
    • I'm removing the default keybinding entirely. If people want to start using this experimental feature, they can add the keybinding manually. The fundamentals of this PR should be in sooner than later, but the feature probably isn't ready for most people yet.

I'm pretty sure most of these don't need to be addressed in the initial PR, and can have follow-up tasks created, but they're all important to note.

This pretty aggressively touches Tab.cpp and App.cpp. App.cpp was doing a lot of work that assumed there was one control per tab. I figured that getting the structure in now would be beneficial, before we add any more code that assumes that.

Closes #532

**Original Pull Request:** https://github.com/microsoft/terminal/pull/825 **State:** closed **Merged:** Yes --- ![image](https://user-images.githubusercontent.com/18356694/57789427-82382880-76fe-11e9-8c3e-d84fbf5a4f97.png) This is probably good enough to PR, but might not be polished enough to ship quite yet. There's a LOT of work to still do one panes, even after this is checked in. See #1000 for the megathread of all panes related issues. Things that might need todo's, and what issue they're linked to: * [x] Clicking on a pane focuses it, but also starts a selection. This is probably #670 * [x] You can tab between panes. That's obviously unwanted. This is also related to #744 * [ ] If you click on the separator's between panes, then on panes will be focused. Related to #528 but definitely different. #999 * [ ] You can't resize panes. They're always 50% of their parent. #991 #992 * [ ] You have to exit the shell to close the pane, there's no shortcut for "ClosePane" #993 * [ ] You can only open a pane with the default profile #998 - I left space for adding support for opening a specific pane, but it didn't really seem like there was a good keychord for doing this currently. Maybe if we added support for multi-key keychords, then it'd make more sense. * [ ] There's no real UI to indicate that a particular pane is focused, other than the blinking cursor. #994 * [ ] You can't navigate the focus of panes with the keyboard currently. #995 * [x] I'm not sure Ctrl+Shift+plus and Ctrl+Shift+- are the right combo for splitting. Maybe we move them to Alt+Shift+plus/- - This would nicely fit with Alt+Shift+Arrows to navigate focus. - **I'm removing the default keybinding entirely.** If people want to start using this _experimental_ feature, they can add the keybinding manually. The fundamentals of this PR should be in sooner than later, but the feature probably isn't ready for most people yet. I'm pretty sure most of these don't need to be addressed in the initial PR, and can have follow-up tasks created, but they're all important to note. This pretty aggressively touches Tab.cpp and App.cpp. App.cpp was doing a lot of work that assumed there was one control per tab. I figured that getting the structure in now would be beneficial, before we add any more code that assumes that. Closes #532
claunia added the pull-request label 2026-01-31 09:02:38 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#24330