Skip to content

[Feature Request] Directional options for spawning and navigating split panes #1103

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

Open
kmandarin-orange opened this issue May 10, 2025 · 0 comments

Comments

@kmandarin-orange
Copy link

I come from Wezterm, and I really like the speed I'm experiencing in Rio, there's just been one feature set missing that's been a bit hard to adjust to: how splits are handled.

In some terminals, splits can be created and navigated in an up/right/left/down manner, which reduces the amount of guessing done on where your focus is moving to (is "SelectNextSplit" going to my right or below? etc.), and also gives greater control over where you place your next splits.

Other Example Solutions

Here's a snipped of my old Wezterm config's split pane keybinds as a reference point for how this is handled:

config.keys = {
  {
    key = 'h',
    mods = 'CTRL|SHIFT|ALT',
    action = wezterm.action.SplitPane {
      direction = 'Left',
      -- command = { args = { 'lsd' } },
      size = { Percent = 50 },
    },
  },

  {
    key = 'j',
    mods = 'CTRL|SHIFT|ALT',
    action = wezterm.action.SplitPane {
      direction = 'Down',
      -- command = { args = { 'lsd' } },
      size = { Percent = 50 },
    },
  },
-- Removed other entries for clarity
  {
    key = 'h',
    mods = 'CTRL|SHIFT',
    action = wezterm.action.ActivatePaneDirection 'Left',
  },

  {
    key = 'j',
    mods = 'CTRL|SHIFT',
    action = wezterm.action.ActivatePaneDirection 'Down',
  },
-- Removed other entries for clarity
}

The consequences of implementing this would mean a choice: should the old focus options (SelectNextSplit, SelectPreviousSplit) stay around, or should they be superseded by the new directional focus options?

This new method would also be more complex in code than a simple stack/list of panes and tabs, but I think the reduced guessing/cognitive load while using Rio could be worth it.

If this style of navigation makes sense to enough people, I'd love to see it as an option!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant