-
Notifications
You must be signed in to change notification settings - Fork 8.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GH10909 in order movement #10927
GH10909 in order movement #10927
Conversation
5ed9b30
to
11f8e4c
Compare
…shared NavigateDirection function.
bff3c29
to
bfd982d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay the code is great here. I also talked myself into the idea of doing it in the structural order like this, and left my notes behind for future readers.
Thanks for doing this!
{ | ||
std::shared_ptr<Pane> focus; | ||
std::shared_ptr<Pane> source; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh yea, that make way more sense. I like this.
// - targetPane: The pane to search for. | ||
// Return Value: | ||
// - The next pane in tree order after the target pane (if found) | ||
std::shared_ptr<Pane> Pane::NextPane(const std::shared_ptr<Pane> targetPane) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh interesting. So you've got this implemented as "in structural order" navigation. I suppose I imagined this as in "in id order navigation".
So for example:
EXAMPLE A:
+-------------+
| +---+ +---+ |
| | | | | |
| | 1 | | 3 | |
| | | | | |
| +---+ +---+ |
+-------------+
| +---+ +---+ |
| | | | | |
| | 2 | | 4 | |
| | | | | |
| +---+ +---+ |
+-------------+
structural order: [<- 1 <-> 3 <-> 2 <-> 4 ->]
EXAMPLE B:
+-------+-------+
| +---+ | +---+ |
| | | | | | |
| | 1 | | | 3 | |
| | | | | | |
| +---+ | +---+ |
| +---+ | +---+ |
| | | | | | |
| | 2 | | | 4 | |
| | | | | | |
| +---+ | +---+ |
+-------+-------+
structural order: [<- 1 <-> 2 <-> 3 <-> 4 ->]
Hmm. Maybe structural makes more sense. Cause in the case where we've got some panes that are opened and closed and opened, the ID order might be insane. Consider example B, close 3&4, then make a new vertical split (5), then close 2, then open a new split off 5 (6), then make a new split off 1 (7)
+-------+-------+
| +---+ | +---+ |
| | | | | | |
| | 1 | | | 5 | |
| | | | | | |
| +---+ | +---+ |
| +---+ | +---+ |
| | | | | | |
| | 7 | | | 6 | |
| | | | | | |
| +---+ | +---+ |
+-------+-------+
Now the structural order is: [<- 1 <-> 7 <-> 5 <-> 6 ->]
which makes way more sense than [<- 1 <-> 5 <-> 6 <-> 7 ->]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and honestly structural might make more sense even for the simple case. Esp consider that Example B0 above isn't even truly correct - that assumes the user did a swapPane(2, 3)
already! The primary split is vertical, so the layout originally looks like
+-------+-------+
| +---+ | +---+ |
| | | | | | |
| | 1 | | | 2 | |
| | | | | | |
| +---+ | +---+ |
| +---+ | +---+ |
| | | | | | |
| | 3 | | | 4 | |
| | | | | | |
| +---+ | +---+ |
+-------+-------+
and here, 1 <-> 3 <-> 2 <-> 4
does seem more reasonable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
though, I suppose tmux does this with select-pane -t +/-/!
:
target-pane (or src-pane or dst-pane) may be a pane ID or takes a
similar form to target-window but with the optional addition of a
period followed by a pane index or pane ID, for example:
‘mysession:mywindow.1’. If the pane index is omitted, the
currently active pane in the specified window is used. The
following special tokens are available for the pane index:
Token Meaning
{last} ! The last (previously active) pane
{next} + The next pane by number
{previous} - The previous pane by number
...
THOUGH, for tmux, the pane location always stays the same, they just move the content. So doing a swap-pane -s 2 -t 0
will only move the content between 0 and 2, not actually move the id's themselves.
That would mean that the ID order in tmux is always the same as the structural order.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well I'm glad you convinced yourself :). I chose structural order, as you noticed, specifically because the ID order isn't stable and I thought it would be confusing to have the focus move "randomly."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just look forward to when you get a feature request where someone wants custom navigation and you have to implement user-specified continuations to support it ;)
Anything that I missed that needs to be discussed, or just want to talk about the structural vs id movement more? |
Sorry I mostly wanted to just draw the team's attention to it. They like it. I think it's getting more reviews now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like it. And I like the structural order. @zadjii-msft explained this one to us in team sync today. The only thing we were left wanting was some visual way (in the future) for us to make the structural order more apparent/visible to the user.
And maybe a more stable ordering/numbering of the panes.
But otherwise, good for now.
As for showing the structure, I agree that would be nice and is one of the things I was imagining (but maybe didn't fully explain) in #10733 As for the numbering, there is a bit of a dichotomy between the number/id of the pane itself, and the id of the content of the pane. When chaining commands it makes sense to keep the ID the same, that way I can say "swap panes 2 and 3, then zoom pane 2" (or something) and not have to do the mental calculus of which pane has which id. Over long periods of time or when it is not obvious what the IDs are, having something like #10708 would be helpful, too. |
Makes sense to me. Thanks! |
@msftbot merge this in 4 hours |
Hello @miniksa! Because you've given me some instructions on how to help merge this pull request, I'll be modifying my merge approach. Here's how I understand your requirements for merging this pull request:
If this doesn't seem right to you, you can tell me to cancel these instructions and use the auto-merge policy that has been configured for this repository. Try telling me "forget everything I just told you". |
@msftbot merge this in 1 minute |
Hello @DHowett! Because you've given me some instructions on how to help merge this pull request, I'll be modifying my merge approach. Here's how I understand your requirements for merging this pull request:
If this doesn't seem right to you, you can tell me to cancel these instructions and use the auto-merge policy that has been configured for this repository. Try telling me "forget everything I just told you". |
@zadjii-msft Since I don't have a better place to post this, I don't really have anything else that I am planning on doing at the moment so I don't know how much I'll be looking at issues. If there happens to be bugs with any of my code feel free to ping me and I can take a look at resolving it. |
I'm sure that's fine @Rosefield. Thank you for this particular contribution! |
🎉 Handy links: |
* Update to change equal symbol to plus key Addresses issue #196 *On my Surface Book keyboard + and = are the same key, but this may not be the case for all keyboard layouts. * change + to plus as shipped by default * Add notes about title change persistance * Update settings.json section * Link settings.json mentions * Fix links * fix a few more links * Update TerminalDocs/customize-settings/actions.md Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> * Update TerminalDocs/dynamic-profiles.md Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> * Update TerminalDocs/customize-settings/actions.md Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> * Remove repititious section * Added browser media keys (#371) * Add link to what is command line shell video (#377) * add intenseTextStyle to the docs (#381) * Multiple new pane features (#383) Documentation for - microsoft/terminal#10713 - microsoft/terminal#10638 - microsoft/terminal#10780 - microsoft/terminal#10927 * wt.exe --window argument now available (#388) * Add notes that the `font` object is only 1.10+ (#389) Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> * Remove MinimizeToTray action mentions (#387) * Docs updates for 1.11 release (#397) * Specify OS version availability for defterm (#417) Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> * Remove tilde Reshttps://github.com/MicrosoftDocs/terminal/issues/260olves * Improve dup tab description #292 * Update minimizetotray setting to new name * Merge release 1.12 into master (#428) Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> Co-authored-by: Pankaj Bhojwani <pabhojwa@microsoft.com> Co-authored-by: Matt Wojciakowski <mattwoj@microsoft.com> Co-authored-by: Mike Griese <migrie@microsoft.com> Co-authored-by: Carlos Zamora <carlos.zamora@microsoft.com> Co-authored-by: Schuyler Rosefield <Rosefield@users.noreply.github.com> Co-authored-by: PankajBhojwani <pankaj.d.bhoj@gmail.com> * Remove preview labels * Add redirect for old powerline page * Add vscode to gitignore * Config changes to reflect the default branch from master to main. * Add a note about the command palette to this doc (#447) * Add details about the command used to print the table (#446) * initialPos -> initialPosition (#445) * Add tip on extensions for configuration files (#440) * Add tip on extensions for configuration files Resolves #423 * fix numbering Co-authored-by: Matt Wojciakowski <mattwoj@microsoft.com> * Corrected path (#434) The LocalAppData path was missing `{app-name}` * Update panes.md (#432) Minor edit on a shortcut key * Correct $PROFILE configuration (#431) When using winget, Oh-my-posh will not add Set-PoshPrompt to path, the execution will fail. The correct configuration can be found in https://ohmyposh.dev/docs/windows#replace-your-existing-prompt * Add a sample page (#444) * Add FAQ page (#442) * Add FAQ page * Finalize faq v1 * Replace md with yml, add toc * Update with settings UI feedback from kayla * fix image link * Fix preview faq Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> Co-authored-by: Floris Westerman <me@floriswesterman.nl> Co-authored-by: Mike Griese <migrie@microsoft.com> Co-authored-by: Schuyler Rosefield <Rosefield@users.noreply.github.com> Co-authored-by: Sean Jacobs <Sophismata@users.noreply.github.com> Co-authored-by: Leon Liang <lelian@microsoft.com> Co-authored-by: Carlos Zamora <carlos.zamora@microsoft.com> Co-authored-by: Pankaj Bhojwani <pabhojwa@microsoft.com> Co-authored-by: PankajBhojwani <pankaj.d.bhoj@gmail.com> Co-authored-by: Nivaldo Tokuda <ni.h1@hotmail.com> Co-authored-by: David A. Sjøen <dasjoen@gmail.com> Co-authored-by: tharindu sathischandra <34299693+tharindusathis@users.noreply.github.com> Co-authored-by: Cutano <rinne@rinne.top>
* Update to change equal symbol to plus key Addresses issue #196 *On my Surface Book keyboard + and = are the same key, but this may not be the case for all keyboard layouts. * change + to plus as shipped by default * Add notes about title change persistance * Update settings.json section * Link settings.json mentions * Fix links * fix a few more links * Update TerminalDocs/customize-settings/actions.md Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> * Update TerminalDocs/dynamic-profiles.md Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> * Update TerminalDocs/customize-settings/actions.md Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> * Remove repititious section * Added browser media keys (#371) * Add link to what is command line shell video (#377) * add intenseTextStyle to the docs (#381) * Multiple new pane features (#383) Documentation for - microsoft/terminal#10713 - microsoft/terminal#10638 - microsoft/terminal#10780 - microsoft/terminal#10927 * wt.exe --window argument now available (#388) * Add notes that the `font` object is only 1.10+ (#389) Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> * Remove MinimizeToTray action mentions (#387) * Docs updates for 1.11 release (#397) * Specify OS version availability for defterm (#417) Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> * Remove tilde Reshttps://github.com/MicrosoftDocs/terminal/issues/260olves * Improve dup tab description #292 * Update minimizetotray setting to new name * Merge release 1.12 into master (#428) Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> Co-authored-by: Pankaj Bhojwani <pabhojwa@microsoft.com> Co-authored-by: Matt Wojciakowski <mattwoj@microsoft.com> Co-authored-by: Mike Griese <migrie@microsoft.com> Co-authored-by: Carlos Zamora <carlos.zamora@microsoft.com> Co-authored-by: Schuyler Rosefield <Rosefield@users.noreply.github.com> Co-authored-by: PankajBhojwani <pankaj.d.bhoj@gmail.com> * Remove preview labels * Add redirect for old powerline page * Add vscode to gitignore * Config changes to reflect the default branch from master to main. * Add a note about the command palette to this doc (#447) * Add details about the command used to print the table (#446) * initialPos -> initialPosition (#445) * Add tip on extensions for configuration files (#440) * Add tip on extensions for configuration files Resolves #423 * fix numbering Co-authored-by: Matt Wojciakowski <mattwoj@microsoft.com> * Corrected path (#434) The LocalAppData path was missing `{app-name}` * Update panes.md (#432) Minor edit on a shortcut key * Correct $PROFILE configuration (#431) When using winget, Oh-my-posh will not add Set-PoshPrompt to path, the execution will fail. The correct configuration can be found in https://ohmyposh.dev/docs/windows#replace-your-existing-prompt * Add a sample page (#444) * Add FAQ page (#442) * Add FAQ page * Finalize faq v1 * Replace md with yml, add toc * Update with settings UI feedback from kayla * fix image link * Fix preview faq * Add a guide for using OSC9;9 (#449) * I think this is everything we need. Pushing because I don't know if the image paths are right * This should fix the warnings * maybe fix the urls? * typos * Update TerminalDocs/tutorials/new-tab-same-directory.md Co-authored-by: Felix Christl <fchristl@gmail.com> Co-authored-by: Matt Wojciakowski <mattwoj@microsoft.com> Co-authored-by: Felix Christl <fchristl@gmail.com> * Minor quake mode text update (#454) * DocuTune: Fix ms.topic values (#453) Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> Co-authored-by: Floris Westerman <me@floriswesterman.nl> Co-authored-by: Mike Griese <migrie@microsoft.com> Co-authored-by: Schuyler Rosefield <Rosefield@users.noreply.github.com> Co-authored-by: Sean Jacobs <Sophismata@users.noreply.github.com> Co-authored-by: Leon Liang <lelian@microsoft.com> Co-authored-by: Carlos Zamora <carlos.zamora@microsoft.com> Co-authored-by: Pankaj Bhojwani <pabhojwa@microsoft.com> Co-authored-by: PankajBhojwani <pankaj.d.bhoj@gmail.com> Co-authored-by: Nivaldo Tokuda <ni.h1@hotmail.com> Co-authored-by: David A. Sjøen <dasjoen@gmail.com> Co-authored-by: tharindu sathischandra <34299693+tharindusathis@users.noreply.github.com> Co-authored-by: Cutano <rinne@rinne.top> Co-authored-by: Felix Christl <fchristl@gmail.com> Co-authored-by: Alex Buck <abuck@microsoft.com>
* Add powerline redirect (#439) * Add redirect for old powerline page * Add vscode to gitignore * Main > Live (#448) * Update to change equal symbol to plus key Addresses issue #196 *On my Surface Book keyboard + and = are the same key, but this may not be the case for all keyboard layouts. * change + to plus as shipped by default * Add notes about title change persistance * Update settings.json section * Link settings.json mentions * Fix links * fix a few more links * Update TerminalDocs/customize-settings/actions.md Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> * Update TerminalDocs/dynamic-profiles.md Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> * Update TerminalDocs/customize-settings/actions.md Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> * Remove repititious section * Added browser media keys (#371) * Add link to what is command line shell video (#377) * add intenseTextStyle to the docs (#381) * Multiple new pane features (#383) Documentation for - microsoft/terminal#10713 - microsoft/terminal#10638 - microsoft/terminal#10780 - microsoft/terminal#10927 * wt.exe --window argument now available (#388) * Add notes that the `font` object is only 1.10+ (#389) Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> * Remove MinimizeToTray action mentions (#387) * Docs updates for 1.11 release (#397) * Specify OS version availability for defterm (#417) Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> * Remove tilde Reshttps://github.com/MicrosoftDocs/terminal/issues/260olves * Improve dup tab description #292 * Update minimizetotray setting to new name * Merge release 1.12 into master (#428) Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> Co-authored-by: Pankaj Bhojwani <pabhojwa@microsoft.com> Co-authored-by: Matt Wojciakowski <mattwoj@microsoft.com> Co-authored-by: Mike Griese <migrie@microsoft.com> Co-authored-by: Carlos Zamora <carlos.zamora@microsoft.com> Co-authored-by: Schuyler Rosefield <Rosefield@users.noreply.github.com> Co-authored-by: PankajBhojwani <pankaj.d.bhoj@gmail.com> * Remove preview labels * Add redirect for old powerline page * Add vscode to gitignore * Config changes to reflect the default branch from master to main. * Add a note about the command palette to this doc (#447) * Add details about the command used to print the table (#446) * initialPos -> initialPosition (#445) * Add tip on extensions for configuration files (#440) * Add tip on extensions for configuration files Resolves #423 * fix numbering Co-authored-by: Matt Wojciakowski <mattwoj@microsoft.com> * Corrected path (#434) The LocalAppData path was missing `{app-name}` * Update panes.md (#432) Minor edit on a shortcut key * Correct $PROFILE configuration (#431) When using winget, Oh-my-posh will not add Set-PoshPrompt to path, the execution will fail. The correct configuration can be found in https://ohmyposh.dev/docs/windows#replace-your-existing-prompt * Add a sample page (#444) * Add FAQ page (#442) * Add FAQ page * Finalize faq v1 * Replace md with yml, add toc * Update with settings UI feedback from kayla * fix image link * Fix preview faq Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> Co-authored-by: Floris Westerman <me@floriswesterman.nl> Co-authored-by: Mike Griese <migrie@microsoft.com> Co-authored-by: Schuyler Rosefield <Rosefield@users.noreply.github.com> Co-authored-by: Sean Jacobs <Sophismata@users.noreply.github.com> Co-authored-by: Leon Liang <lelian@microsoft.com> Co-authored-by: Carlos Zamora <carlos.zamora@microsoft.com> Co-authored-by: Pankaj Bhojwani <pabhojwa@microsoft.com> Co-authored-by: PankajBhojwani <pankaj.d.bhoj@gmail.com> Co-authored-by: Nivaldo Tokuda <ni.h1@hotmail.com> Co-authored-by: David A. Sjøen <dasjoen@gmail.com> Co-authored-by: tharindu sathischandra <34299693+tharindusathis@users.noreply.github.com> Co-authored-by: Cutano <rinne@rinne.top> * Toc update (#457) * Update to change equal symbol to plus key Addresses issue #196 *On my Surface Book keyboard + and = are the same key, but this may not be the case for all keyboard layouts. * change + to plus as shipped by default * Add notes about title change persistance * Update settings.json section * Link settings.json mentions * Fix links * fix a few more links * Update TerminalDocs/customize-settings/actions.md Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> * Update TerminalDocs/dynamic-profiles.md Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> * Update TerminalDocs/customize-settings/actions.md Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> * Remove repititious section * Added browser media keys (#371) * Add link to what is command line shell video (#377) * add intenseTextStyle to the docs (#381) * Multiple new pane features (#383) Documentation for - microsoft/terminal#10713 - microsoft/terminal#10638 - microsoft/terminal#10780 - microsoft/terminal#10927 * wt.exe --window argument now available (#388) * Add notes that the `font` object is only 1.10+ (#389) Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> * Remove MinimizeToTray action mentions (#387) * Docs updates for 1.11 release (#397) * Specify OS version availability for defterm (#417) Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> * Remove tilde Reshttps://github.com/MicrosoftDocs/terminal/issues/260olves * Improve dup tab description #292 * Update minimizetotray setting to new name * Merge release 1.12 into master (#428) Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> Co-authored-by: Pankaj Bhojwani <pabhojwa@microsoft.com> Co-authored-by: Matt Wojciakowski <mattwoj@microsoft.com> Co-authored-by: Mike Griese <migrie@microsoft.com> Co-authored-by: Carlos Zamora <carlos.zamora@microsoft.com> Co-authored-by: Schuyler Rosefield <Rosefield@users.noreply.github.com> Co-authored-by: PankajBhojwani <pankaj.d.bhoj@gmail.com> * Remove preview labels * Add redirect for old powerline page * Add vscode to gitignore * Config changes to reflect the default branch from master to main. * Add a note about the command palette to this doc (#447) * Add details about the command used to print the table (#446) * initialPos -> initialPosition (#445) * Add tip on extensions for configuration files (#440) * Add tip on extensions for configuration files Resolves #423 * fix numbering Co-authored-by: Matt Wojciakowski <mattwoj@microsoft.com> * Corrected path (#434) The LocalAppData path was missing `{app-name}` * Update panes.md (#432) Minor edit on a shortcut key * Correct $PROFILE configuration (#431) When using winget, Oh-my-posh will not add Set-PoshPrompt to path, the execution will fail. The correct configuration can be found in https://ohmyposh.dev/docs/windows#replace-your-existing-prompt * Add a sample page (#444) * Add FAQ page (#442) * Add FAQ page * Finalize faq v1 * Replace md with yml, add toc * Update with settings UI feedback from kayla * fix image link * Fix preview faq * Add a guide for using OSC9;9 (#449) * I think this is everything we need. Pushing because I don't know if the image paths are right * This should fix the warnings * maybe fix the urls? * typos * Update TerminalDocs/tutorials/new-tab-same-directory.md Co-authored-by: Felix Christl <fchristl@gmail.com> Co-authored-by: Matt Wojciakowski <mattwoj@microsoft.com> Co-authored-by: Felix Christl <fchristl@gmail.com> * Minor quake mode text update (#454) * DocuTune: Fix ms.topic values (#453) Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> Co-authored-by: Floris Westerman <me@floriswesterman.nl> Co-authored-by: Mike Griese <migrie@microsoft.com> Co-authored-by: Schuyler Rosefield <Rosefield@users.noreply.github.com> Co-authored-by: Sean Jacobs <Sophismata@users.noreply.github.com> Co-authored-by: Leon Liang <lelian@microsoft.com> Co-authored-by: Carlos Zamora <carlos.zamora@microsoft.com> Co-authored-by: Pankaj Bhojwani <pabhojwa@microsoft.com> Co-authored-by: PankajBhojwani <pankaj.d.bhoj@gmail.com> Co-authored-by: Nivaldo Tokuda <ni.h1@hotmail.com> Co-authored-by: David A. Sjøen <dasjoen@gmail.com> Co-authored-by: tharindu sathischandra <34299693+tharindusathis@users.noreply.github.com> Co-authored-by: Cutano <rinne@rinne.top> Co-authored-by: Felix Christl <fchristl@gmail.com> Co-authored-by: Alex Buck <abuck@microsoft.com> Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com> Co-authored-by: Floris Westerman <me@floriswesterman.nl> Co-authored-by: Mike Griese <migrie@microsoft.com> Co-authored-by: Schuyler Rosefield <Rosefield@users.noreply.github.com> Co-authored-by: Sean Jacobs <Sophismata@users.noreply.github.com> Co-authored-by: Leon Liang <lelian@microsoft.com> Co-authored-by: Carlos Zamora <carlos.zamora@microsoft.com> Co-authored-by: Pankaj Bhojwani <pabhojwa@microsoft.com> Co-authored-by: PankajBhojwani <pankaj.d.bhoj@gmail.com> Co-authored-by: Nivaldo Tokuda <ni.h1@hotmail.com> Co-authored-by: David A. Sjøen <dasjoen@gmail.com> Co-authored-by: tharindu sathischandra <34299693+tharindusathis@users.noreply.github.com> Co-authored-by: Cutano <rinne@rinne.top> Co-authored-by: Felix Christl <fchristl@gmail.com> Co-authored-by: Alex Buck <abuck@microsoft.com>
Adds new in-order traversal for MoveFocus and SwapPane actions.
Refactors the Pane methods to share a
NavigateDirection
implementation.
Closes #10909
A large amount of the churn here is just renaming some of the things for
directional movement to reflect that it might not always be based on the
focused pane.
NextPane
andPreviousPane
are the functions thatactually select the next/previous pane respectively and are the core
component of this PR.
VALIDATION
Created multiple panes on a tab, and tried both forward and backwards
movements with move-focus and swap-pane.