Split Pane feature - feels too primitive and needs overhaul

Open
#5,303 4 comments 14 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
20/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Domain
cli

Research direction

The issue names no files, tests, or entry points. Start by narrowing the requested split-pane interactions and output-wrapping behavior into a defined scope, then confirm the relevant implementation area with maintainers. Done should be tied to an agreed subset of these behaviors and corresponding tests.

Written by the indexing model from the issue text.

Description

area:window-tabs-panes enhancement triaged
Dupe Check
Describe the solution you'd like?

Split Pane feature seems very primitive right now, and it leaves a lot to be desired.

  • No way to toggle panes (swap left pane with right or upper pane with lower pane).
  • No way to change pane configuration (change left/right to up/down or vice/versa)
  • No way to drag panes around to put them in a different side or position in the current tab.
  • No way to drag and drop another tab to a side of current tab's contents to move it into a pane inside current tab.
  • No way to un-split a pane into its own tab.
  • Cannot double-click the pane separator to reset it to a 50/50 split.
  • The option to maximize/minimize pane is inconveniently hidden in a menu with only one option. I'd prefer if the option is its own button for easy access. (There's a keyboard shortcut, which alleviates the pain a bit.)

So much of this is possible and intuitive in VS Code which is my point of reference for how well-done the Split Pane feature should be.

A separate but relevant issue is: There's no ability to control word wrap of the output. It will be nice to change "pane-width-only wrapping" to "line-width-prioritized wrapping" instead and allow horizontal scrolling. Basically, output can wrap to the window/pane if wider, but if it's too narrow, it should have a minimum line length of say 100 characters and have horizontal scrolling.

It's relevant as panes in a split-pane setup can be narrow and it would be nice to see the wrapping not strictly follow the pane width. (The wrapping mode should be configurable, including the minimum line width.)

Is your feature request related to a problem? Please describe.

No response

Additional context

No response

How important is this feature to you?

4

Warp Internal (ignore) - linear-label:39cc6478-1249-4ee7-950b-c428edfeecd1

None

Dominant language
Rust
Stars
65.1k
Forks
5.6k
PR merge metrics
PR metrics pending

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from warpdotdev/warp

All issues in warpdotdev/warp

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.