[PR #11145] [MERGED] Add the ability to split a pane and put the new pane first. #28435

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

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/11145
Author: @Rosefield
Created: 9/4/2021
Status: Merged
Merged: 9/15/2021
Merged by: @undefined

Base: mainHead: feature/gh4340-directional-split


📝 Commits (6)

  • e8f10bc Add the ability to split a pane and put the new pane first.
  • 656a4b8 Refactor SplitState into external SplitDirection and internal SplitState for panes.
  • 8ab505c Also update the tests to use the new split direction enum, and that horizontal/vertical map properly. Updated one of the command tests to actually check the directional versions map correctly.
  • 2cdb249 And also the schema
  • 23e672b Try to get more tests to pass.
  • 2d1c590 Merge remote-tracking branch 'origin/main' into feature/gh4340-directional-split

📊 Changes

22 files changed (+324 additions, -228 deletions)

View changed files

📝 doc/cascadia/profiles.schema.json (+8 -6)
📝 src/cascadia/LocalTests_SettingsModel/CommandTests.cpp (+87 -17)
📝 src/cascadia/LocalTests_SettingsModel/DeserializationTests.cpp (+6 -6)
📝 src/cascadia/LocalTests_SettingsModel/KeyBindingsTests.cpp (+4 -4)
📝 src/cascadia/LocalTests_SettingsModel/TerminalSettingsTests.cpp (+6 -6)
📝 src/cascadia/LocalTests_TerminalApp/CommandlineTest.cpp (+12 -12)
📝 src/cascadia/LocalTests_TerminalApp/SettingsTests.cpp (+42 -42)
📝 src/cascadia/LocalTests_TerminalApp/TabTests.cpp (+5 -5)
📝 src/cascadia/TerminalApp/AppActionHandlers.cpp (+1 -1)
📝 src/cascadia/TerminalApp/AppCommandlineArgs.cpp (+3 -3)
📝 src/cascadia/TerminalApp/Pane.cpp (+41 -32)
📝 src/cascadia/TerminalApp/Pane.h (+22 -15)
📝 src/cascadia/TerminalApp/TabManagement.cpp (+2 -2)
📝 src/cascadia/TerminalApp/TerminalPage.cpp (+8 -22)
📝 src/cascadia/TerminalApp/TerminalPage.h (+2 -2)
📝 src/cascadia/TerminalApp/TerminalTab.cpp (+19 -16)
📝 src/cascadia/TerminalApp/TerminalTab.h (+3 -3)
📝 src/cascadia/TerminalSettingsModel/ActionArgs.cpp (+11 -5)
📝 src/cascadia/TerminalSettingsModel/ActionArgs.h (+12 -12)
📝 src/cascadia/TerminalSettingsModel/ActionArgs.idl (+10 -9)

...and 2 more files

📄 Description

Summary of the Pull Request

Adds directional modifiers for SplitState and convert those to the appropriate horizontal/vertical when splitting a pane.

References

PR Checklist

  • Closes How to define which terminal is opened by default? (#4340)
  • CLA signed. If not, go over here and sign the CLA
  • Tests added/passed
  • Documentation updated. If checked, please file a pull request on our docs repo and link it here: #xxx
  • Schema updated.
  • I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

Detailed Description of the Pull Request / Additional comments

"vertical" and "horizontal" splits were removed from defaults.json, but code was added to parse those as right and down respectively. It is also the case that if a user has a custom hotkey for split: vertical it will override the default for split: right.

Validation Steps Performed

Split the pane using each of the new directional movements


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/11145 **Author:** [@Rosefield](https://github.com/Rosefield) **Created:** 9/4/2021 **Status:** ✅ Merged **Merged:** 9/15/2021 **Merged by:** [@undefined](undefined) **Base:** `main` ← **Head:** `feature/gh4340-directional-split` --- ### 📝 Commits (6) - [`e8f10bc`](https://github.com/microsoft/terminal/commit/e8f10bcc0c9080cdd712ee075cf6ac5cdd718212) Add the ability to split a pane and put the new pane first. - [`656a4b8`](https://github.com/microsoft/terminal/commit/656a4b8a2a419d3910e8362a962cf9315521f430) Refactor SplitState into external SplitDirection and internal SplitState for panes. - [`8ab505c`](https://github.com/microsoft/terminal/commit/8ab505c7ad67211efbdd91fdb1e417a3ba9aaf11) Also update the tests to use the new split direction enum, and that horizontal/vertical map properly. Updated one of the command tests to actually check the directional versions map correctly. - [`2cdb249`](https://github.com/microsoft/terminal/commit/2cdb249d0162f7154b394e11dba9561fc301a437) And also the schema - [`23e672b`](https://github.com/microsoft/terminal/commit/23e672bdbccde1362d1e26dccf75b2e8921178b5) Try to get more tests to pass. - [`2d1c590`](https://github.com/microsoft/terminal/commit/2d1c590f4fc7f2cc1b5ba069fadbce8e007d621d) Merge remote-tracking branch 'origin/main' into feature/gh4340-directional-split ### 📊 Changes **22 files changed** (+324 additions, -228 deletions) <details> <summary>View changed files</summary> 📝 `doc/cascadia/profiles.schema.json` (+8 -6) 📝 `src/cascadia/LocalTests_SettingsModel/CommandTests.cpp` (+87 -17) 📝 `src/cascadia/LocalTests_SettingsModel/DeserializationTests.cpp` (+6 -6) 📝 `src/cascadia/LocalTests_SettingsModel/KeyBindingsTests.cpp` (+4 -4) 📝 `src/cascadia/LocalTests_SettingsModel/TerminalSettingsTests.cpp` (+6 -6) 📝 `src/cascadia/LocalTests_TerminalApp/CommandlineTest.cpp` (+12 -12) 📝 `src/cascadia/LocalTests_TerminalApp/SettingsTests.cpp` (+42 -42) 📝 `src/cascadia/LocalTests_TerminalApp/TabTests.cpp` (+5 -5) 📝 `src/cascadia/TerminalApp/AppActionHandlers.cpp` (+1 -1) 📝 `src/cascadia/TerminalApp/AppCommandlineArgs.cpp` (+3 -3) 📝 `src/cascadia/TerminalApp/Pane.cpp` (+41 -32) 📝 `src/cascadia/TerminalApp/Pane.h` (+22 -15) 📝 `src/cascadia/TerminalApp/TabManagement.cpp` (+2 -2) 📝 `src/cascadia/TerminalApp/TerminalPage.cpp` (+8 -22) 📝 `src/cascadia/TerminalApp/TerminalPage.h` (+2 -2) 📝 `src/cascadia/TerminalApp/TerminalTab.cpp` (+19 -16) 📝 `src/cascadia/TerminalApp/TerminalTab.h` (+3 -3) 📝 `src/cascadia/TerminalSettingsModel/ActionArgs.cpp` (+11 -5) 📝 `src/cascadia/TerminalSettingsModel/ActionArgs.h` (+12 -12) 📝 `src/cascadia/TerminalSettingsModel/ActionArgs.idl` (+10 -9) _...and 2 more files_ </details> ### 📄 Description <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Adds directional modifiers for SplitState and convert those to the appropriate horizontal/vertical when splitting a pane. <!-- Other than the issue solved, is this relevant to any other issues/existing PRs? --> ## References <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist * [x] Closes #4340 * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [x] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [x] Schema updated. * [ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx <!-- Provide a more detailed description of the PR, other things fixed or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments "vertical" and "horizontal" splits were removed from `defaults.json`, but code was added to parse those as `right` and `down` respectively. It is also the case that if a user has a custom hotkey for `split: vertical` it will override the default for `split: right`. <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed Split the pane using each of the new directional movements --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:28:30 +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#28435