Hacker News new | ask | show | jobs
by nickjj 2307 days ago
tmux offers a level of abstraction that's missing from a tiling WM alone.

You can have 1 tmux server running locally with many sessions (let's say 1 session per project).

Then each session can have many windows (separate terminals that are full screen).

And then each window can have many panes (splitting that window however you see fit).

But if you went with a tiling WM alone without tmux, the WM's workspaces become sessions and your terminal becomes a window. So now you're stuck having to lean on your terminal emulator for tabs and splitting windows, but you're also on the hook for it having buffer searching, copying URLs, scrolling and other things. Most terminals are really bad at those tasks but tmux is great with them when combined with something like xterm (a low input latency terminal).

Plus with tmux you have the option to easily save and restore everything with tmux-resurrect, and you can take your whole set up and replicate it on Linux, MacOS and even Windows with WSL and it all works the same as long as you find a good light weight terminal on each platform.

I think there's a lot of value in using both a tiling WM and tmux together. tmux basically super charges any terminal into having world class support for everything a terminal needs to do. Even if it didn't persist sessions, it would still be really valuable. IMO it's severely underrated. People's eyes widen and still get impressed when terminal emulators add basic tab support. If they only knew what was lurking around the corner with tmux!

1 comments

> So now you're stuck having to lean on your terminal emulator for tabs and splitting windows

If you have tiling wm, why would you want tabs or especially splitting in terminal emulator?

> Most terminals are really bad at those tasks

Just don't use bad terminal emulators? And good terminal emulators are better at those tasks than tmux

> If you have tiling wm, why would you want tabs or especially splitting in terminal emulator?

Splitting is useful so you can see more than 1 thing at a time. You know, tiling. :D

This is especially true if you have a high resolution display such as 2560x1440 or 4k. You can fit a ton of info at once across multiple panes.

> Just don't use bad terminal emulators? And good terminal emulators are better at those tasks than tmux

I've tested dozens across multiple operating systems and haven't found one that that has as low input latency as xterm along with having a better implementation of tabs, splits, searching, being able to name windows, zoom toggle into windows, and everything else tmux does. None of them were even in the same ballpark.