Genuine question, why would I need a terminal multiplexer when I am using a tiling window manager? I saw a lot of people using them in normal desktop environments which makes sense but why in a tiling window manager?
I’ve been resisting multiplexers for similar reasons for a long time. But I think tiling window managers start to become a hindrance when you have a non trivial number of terminal sessions open.
I like to think of tiling window manager as a program to manage windows, while the multiplexer manages terminal sessions. Many of my terminal sessions are backgrounded rather than having a dedicated window hanging somewhere. Many of them are only running some program and are no longer being used interactively.
Fuerhermore, with a multiplexer, you can easily launch a new session in the same directory you’re in, same environment, or same ssh host you ssh’ed into.
With that being said, it is probably possible to figure out a good workflow using tiling window managers. It is probably harder and most tiling managers Dont provide the features by default, imo, but I bet it’s possible.
Universal (especially Tmux). It doesnt. Matter where you’re doing it. If it has Tmux, you’re in a familiar environment. Different wm/DE/emulator? No problem
multiplexers have additional capabilities. For example when you create a split or new tab, it’s in the same directory that you were already working in. This is super important. You can also have different sessions for different projects/tasks and switch between them. This is also super important (Wezterm has “workspaces”).
you can close the terminal emulator and your sessions will still be there.
so overall, a tiling wm isn’t really a replacement for multiplexers if you’re doing heavy tasks like programming
And the only reason I use wezterm is because it’s the only terminal that supports BiDi/RTL text somewhat. Otherwise, Tmux is the best
Sorry that I come off as argumentative, but I’ve went too deep thinking about this question, and I want to bounce my ideas off and possibly change my mind or confirm my position.
I agree with the concept of using cross-platform, environment-agnostic software. However, I would prefer to move this feature one level up: the terminal emulator itself. Imo, what tmux provides is in the territory of features that terminal emulators provide. In a way, it is making up for lack of features in typical terminal emulators. It supercharges your terminal!
But I think it is not an ideal solution. The ideal solution is a terminal emulator that has those features, which imo are Wezterm and kitty.
Some programs sometimes have weird issues with tmux. Things rendering incorrectly, colorschemes not showing right, etc. It also increases latency significantly, just because it is basically a terminal emulator inside a terminal emulator.
WezTerm and kitty are cross platform and environment agnostic, so they should give you the same benefits.
But I do agree that window managers don’t give the same benefits.
The thing is. Have you tried closing and reconnecting to sessions on wezterm/tmux? Infinitely harder.
Also tmux can be everywhere, including servers. I have it on all my beefy servers. And the sessions keep open.
You basically can’t do this with wezterm/kitty. Simply at least.
Latency is basically a non-issue for me. It’s nothing noticable for me.
The tiling window manager should handle that too, right? I suppose you’d have to re-ssh, and you wouldn’t land in the same directory by default, which adds extra friction.
It is worth mentioning that some alternative programs offer these features without the tiling and multiplexing. zmx is my favorite and the only one to not have weird kinks imo. Dtach is another one.
Genuine question, why would I need a terminal multiplexer when I am using a tiling window manager? I saw a lot of people using them in normal desktop environments which makes sense but why in a tiling window manager?
I’ve been resisting multiplexers for similar reasons for a long time. But I think tiling window managers start to become a hindrance when you have a non trivial number of terminal sessions open.
I like to think of tiling window manager as a program to manage windows, while the multiplexer manages terminal sessions. Many of my terminal sessions are backgrounded rather than having a dedicated window hanging somewhere. Many of them are only running some program and are no longer being used interactively.
Fuerhermore, with a multiplexer, you can easily launch a new session in the same directory you’re in, same environment, or same ssh host you ssh’ed into.
With that being said, it is probably possible to figure out a good workflow using tiling window managers. It is probably harder and most tiling managers Dont provide the features by default, imo, but I bet it’s possible.
I use i3 and still use Tmux and wezterm.
The benefits are:
so overall, a tiling wm isn’t really a replacement for multiplexers if you’re doing heavy tasks like programming
And the only reason I use wezterm is because it’s the only terminal that supports BiDi/RTL text somewhat. Otherwise, Tmux is the best
Sorry that I come off as argumentative, but I’ve went too deep thinking about this question, and I want to bounce my ideas off and possibly change my mind or confirm my position.
I agree with the concept of using cross-platform, environment-agnostic software. However, I would prefer to move this feature one level up: the terminal emulator itself. Imo, what tmux provides is in the territory of features that terminal emulators provide. In a way, it is making up for lack of features in typical terminal emulators. It supercharges your terminal!
But I think it is not an ideal solution. The ideal solution is a terminal emulator that has those features, which imo are Wezterm and kitty.
Some programs sometimes have weird issues with tmux. Things rendering incorrectly, colorschemes not showing right, etc. It also increases latency significantly, just because it is basically a terminal emulator inside a terminal emulator.
WezTerm and kitty are cross platform and environment agnostic, so they should give you the same benefits.
But I do agree that window managers don’t give the same benefits.
The thing is. Have you tried closing and reconnecting to sessions on wezterm/tmux? Infinitely harder.
Also tmux can be everywhere, including servers. I have it on all my beefy servers. And the sessions keep open. You basically can’t do this with wezterm/kitty. Simply at least.
Latency is basically a non-issue for me. It’s nothing noticable for me.
Because sometimes (or always) you’re using the terminal multiplexer on a remote machine over ssh with no graphical session
The tiling window manager should handle that too, right? I suppose you’d have to re-ssh, and you wouldn’t land in the same directory by default, which adds extra friction.
Mainly tmuxor screen keep sessions alive on the remote server, so processes don’t get killed when I disconnect.
Multiplexers like tmux offer additional features beyond tiling, like the ability to reopen sessions after closing the original terminal window
It is worth mentioning that some alternative programs offer these features without the tiling and multiplexing. zmx is my favorite and the only one to not have weird kinks imo. Dtach is another one.
It’s great if you switch systems or lose connection during your work. I also use it detached so I can run programs on headless systems.