Terminal: Feature Request: Split windows

Created on 7 May 2019  Â·  26Comments  Â·  Source: microsoft/terminal

Consider Supporting tmux style split windows where tabs can be grouped into single window with split screens -

Area-TerminalControl Area-User Interface Issue-Feature Product-Terminal Resolution-Fix-Committed

Most helpful comment

This is probably my highest priority feature request :)

All 26 comments

This is probably my highest priority feature request :)

Also consider tmux compatible keybindings ;)

Since the keybindings _will be_ remappable, you'll be able to set them to whatever you like :)

Though, I'll make sure they don't conflict with tmux out of the box.

If we're looking at tmux for things like splits, why not implement Tmux Control Mode like iTerm on MacOS. I switch back and forth between my Macs (with iTerm2) and my Surface Laptop with WSL but WSL2 combined with a _really_ usable terminal (comparable to iTerm2) would really make me consider leaving the Apple camp.

I did not know that Tmux Control Mode even existed.

That sounds really awesome, I'm totally on board with trying to make that work somehow.

+1, but it definitely should support tabs of different consoles - I mean Powershell aside to WSL bash for example.

Plus I'd like it to be more like Vivaldi's browser management of tabs tiling (you can ctrl+click tabs and tile/untile them freely from context menu) than ConEmu console emulator (where you can just "split to right/bottom", which creates new console, but I cannot easily tile two existing tabs).

You should be able to split tab above and below as well as to the left or right.

+1 !!!
I'm a big fan of Gnome Terminator and term splitting is IMHO a must-have (even more important than tabbed terminals) for a decent terminal emulator !
https://gnometerminator.blogspot.com

I would love it if each of the split window could run as a different account.

Man it's a really great thing this is in pr (#825) then ;)

Is this in the preview? How do I use it? Couldn't find any option and/or kb shortcut

@brunolm

Is this in the preview? How do I use it? Couldn't find any option and/or kb shortcut

Add this to the Keybindings in the settings and adjust the keys as your like.

           {
                "command" : "splitHorizontal",
                "keys" : 
                [
                    "ctrl+shift+-"
                ]
            },
            {
                "command" : "splitVertical",
                "keys" : 
                [
                    "ctrl+shift+E"
                ]
            },

iTerm on the Mac has a split left/down feature as well. I rather not use tmux if not needed and have it built into the terminal esp shortcuts like ctrl+shift+w for wide etc

Is there a way to switch between the panes, _after_ being split? Thanks!

@manmartgarc This is tracked by #995, and in pr in #1910

This is how I work with Conemu every day. It will start up like in the picture. 3 times bash and 1 powershell. I have keybindings for adding more panes horizontally or vertically (will be the same profile as the currently selected one), and for switching between fullscreen and split mode. For me this is the perfect way to handle multiple shells. I hope the Windows Terminal will work similar, especially with the startup profile and the keybindings to switch between full/split view.

Conemu four panes

Hi yx

On Wed, 17 Jul 2019 at 10:29, hypermagicmountain notifications@github.com
wrote:

This is how I work with Conemu every day. It will start uqqp like in the
picture. I have keybindings for adding more panes horizontally or
vertically (will be the same profile as the currently selected one), and
for switching between fullscreen and split mode. For me this is the perfect
way to handle multiple shells. I hope the Windows Terminal will work
similar.

[image: Conemu four panes]
https://user-images.githubusercontent.com/32417751/61364048-531c6f80-a885-11e9-942a-fc0ae8a2ed7b.png

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/terminal/issues/532?email_source=notifications&email_token=ABUUNYXOCYMNMRPZZI6YKU3P73Q6FA5CNFSM4HLL2HG2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2DTKEY#issuecomment-512177427,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABUUNYV4GDBNPBWMYLPOGB3P73Q6FANCNFSM4HLL2HGQ
.

@zadjii-msft is there a command for switching between panes with a hotkey rather than clicking between each pane for the splitHorizontal/vertical commands? I went to that pull request #1920 but wasn't able to figure it out. Maybe it's because I have the windows store version of the terminal...?

@DJPoland The store version doesn't have #1920 in it quite yet. You'll need to wait for 0.3 to be pushed to the store.

@zadjii-msft sweet. Is there any way I can split to a new pane and the child pane that was just spawned would be in the same directory as the root pane? In other words, I don't want to cd to the same directory for each pane.

I'm not sure that's possible. Do all processes (including pico-processes used by WSL) have a current working directory? Is it possible for us to query that value from a child process? What if there are multiple processes attached to the console simultaneously, how do we pick which process's working directory to use?

Not saying that it's straight-up _impossible_, just that it's very unlikely and definitely deserves it's own thread to discuss and spec.

What's slightly confusing is that new splitted windows do not have the same shell as the original window. My default is WSL, but when I have a PowerShell windows, and split it, then the 2nd half isn't powershell as well, but WSL. I kind-of expected that splitting an existing Window gives me the same shell.

image

Yes, this is covered in #1000. Please look at #1000 to see what we know we still need to do for panes.

Here's the config I used:

CTRL+SHIFT+- Split horizontal
CTRL+SHIFT+| Split vertical
CTRL+ALT+U/D/L/R Move focus between panes
ALT+SHIFT+U/D/L/R Resize pane
CTRL+SHIFT+W Close current pane

{
    "command" : "splitHorizontal",
    "keys" : ["ctrl+shift+-"]
},
{
    "command" : "splitVertical",
    "keys" : ["ctrl+shift+|"]
},
{
    "command" : "moveFocusUp",
    "keys" : ["ctrl+alt+up"]
},
{
    "command" : "moveFocusDown",
    "keys" : ["ctrl+alt+down"]
},
{
    "command" : "moveFocusLeft",
    "keys" : ["ctrl+alt+left"]
},
{
    "command" : "moveFocusRight",
    "keys" : ["ctrl+alt+right"]
},
{
    "command" : "resizePaneUp",
    "keys" : ["shift+alt+up"]
},
{
    "command" : "resizePaneDown",
    "keys" : ["shift+alt+down"]
},
{
    "command" : "resizePaneLeft",
    "keys" : ["shift+alt+left"]
},
{
    "command" : "resizePaneRight",
    "keys" : ["shift+alt+right"]
},
{
    "command" : "closePane",
    "keys" : ["ctrl+shift+w"]
}

Also need to ability to resize the panes using the mouse cursor. That would be the normal panel behavior in most OS UX.

You know what, I'm just gonna lock this thread in favor of #1000. Literally any questions should just be handled there, as it is the megathread tracking _all_ panes things.

Go to ---> #1000 <---

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mrmlnc picture mrmlnc  Â·  3Comments

warpdesign picture warpdesign  Â·  3Comments

ghost picture ghost  Â·  3Comments

mdtauk picture mdtauk  Â·  3Comments

mrmlnc picture mrmlnc  Â·  3Comments