terminal
terminal copied to clipboard
Add support for `tmux` Control Mode
From discussion in #532, #1000:
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.
In #532, from @zadjii-msft:
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.
Was there any further thought put into this? I love tmux control mode - it's literally the only thing keeping me tethered to MacOS at work (since only iTerm supports it, and iTerm is mac-only). If it were implemented, I'd trash my Mac and request a Windows laptop immediately.
I'd love to see it listed as a post-1.0 milestone :)
We should do this.
Docs link: https://github.com/tmux/tmux/wiki/Control-Mode
Control mode isn't documented all that well but it isn't terribly complicated, if you want to do it you can feel free to ask me if you have questions.
@nicm Thanks! Maybe we can contribute a bit to the existence of control mode docs while we're at it. :smile:
That would be great. There is an overview in the manual and it is easy enough to play with interactively using "tmux -C new" (instead of -CC). Plus iTerm2 has an implementation of the client side of course.
I was actually just looking at Tmux Control Mode for work (which led me to this issue from Google) - this would be something I would really support! That, and there are already library implementations which might help; as @nicm mentioned iTerm2 implements control mode, and also I found this python library https://libtmux.git-pull.com/en/latest/ which implements the control mode client, too.
I don't think libtmux uses control mode.
I have written a wiki entry about control mode, although it doesn't have an awful lot more than is in the manual at the moment. Still suggestions welcome - https://github.com/tmux/tmux/wiki/Control_Mode.
I would love to have this feature - it's one of the crucial things I miss from my MacOS days. For those who end up here - push that Like button above! Let's make ourselves heard, surely the product team will notice this! :D
I think this depends heavily on the remoting abiliby in #7240 & #8135. A tmux window will have to be a different one than the window that executes tmux -CC
. And they must be able to communicate with each other.
One thing that prevent me from moving from Mac to Windows is the iTerm tmux control mode
See also https://github.com/wez/wezterm/pull/1090
Update: part of this PR https://github.com/wez/wezterm/pull/1090 has been merged into main branch. But I think on Windows the tmux-cc feature in wezterm is still blocked by ConPTY. Haven't got the chance to try it, though.
This would be so helpful! Any update/progress?
Nope. We'll make sure to update this thread when there is. In the meantime, might I recommend the Subscribe button?
That way you'll be notified of any updates to this thread, without needlessly pinging everyone on this thread ☺️
This would be so helpful for me! Any update/progress?
+1
+1 for tmux control mode!
This is implemented on iTerm2 for MacOS, and it's crazy magic that gives a native feeling to working with a remote server over SSH. It's also nice because sessions are persistent across disconnect/reconnect.
If Windows Terminal learned how to use control-mode, I'd switch my work computer over in an instant. And I don't think I'm the only one.
It'd make so much sense since Windows Terminal already supports split panes, it'd fit perfectly <3 please support this @Microsoft
Any update on this? I use iterm2 exclusively because of this integration
Any update on this? This is the most wanted feature!