EDIT: Compare my tmux.conf (http://pastebin.com/m2394d7a2) and my screenrc (http://pastebin.com/d7bb649a5). It was much easier for me to set up tmux the way I wanted from reading the manpage, than it was to configure screen. My screenrc is a hotchpotch of cut-and-paste from lots of different sources, but I never really understood screen. Maybe that's just me.
Care to clarify "screen is voodoo. tmux isn't."? That's pretty meaningless.
The overall design to tmux is quite a bit cleaner, and (having poked around in their respective sources), I know which I'd be more likely to contribute patches to. It took screen forever to get vertical splits (are they still an unofficial patch?), whereas tmux already has dwm/XMonad-style layouts.
tmux is also included in the standard OpenBSD install. Make what of that you will.
Granted, my screenrc is a hotchpotch of cut-and-paste and default stuff from lots of places, but that's actually the point: I could read through the tmux manpage and set up tmux the way I wanted, without cobbling a conf file together from the blog posts and mailing list emails of wiser people.
Not being familiar with tmux at all I tried to simply drop in your config (changing only the default path) but all I get is syntax errors at every turn (unknown option status-justify at line 4).
tmux 0.8 (20090604-0818)
Which is in the Ubuntu 9.10 repos. I'll take any suggestions, but I'm happy with screen :)
Yea, noticed the newest is 1.1... I'd prefer to find a debian package for it rather than building it though, I often need to rebuild machines and I always regret adding steps like this (I can just stick with screen since it's everywhere for free). I'll see what I can find... Thanks.
Some commands are still not working (pane-active-border-bg and capture-pane, it seems) but I can take a closer look at those after playing with it for a while and getting comfortable.
Tmux solves a problem for me. Previously I was using a combination of Screen and dvtm (http://www.brain-dump.org/projects/dvtm/) to get the equivalent of multiple screens, each with their own splits. Screen can do splits but you can't maintain splits in one screen/tab and move to another screen with independent splits. It's hard to describe, but if you've used screen or dvtm you probably know what I mean. Tmux seems to have that built in. Awesome, thanks.
Screen has a very large chunk of the potential market share for this sort of utility app. Tmux is going to have to be 10 times better to get people to switch. ("Screen" also has a name that's easy to remember, and to spell.)
Is tmux 10 times better than screen? Cause that's what it's going to take to get people to switch at this point.
Not 10 times, no. On the other hand, tmux is improving quickly; if not every day, at least every week. screen, on the other hand, seems pretty stagnant.
That's because screen does what most people who use it want. I haven't used "new" functionality in newer versions of screen since I first started using it years and years ago.
Not having used either program, I'm more inclined to try tmux just because it seems to give some visual cues about what's happening. Gnu-screen seems oriented entirely towards remembering commands, something that doesn't appeal to me.
That said, I think both programs more explanation concerning what they do.
I wish someone would write an actual article on tmux and post it here, every time screen comes up I just here statements about the vague superiority of tmux.
No promises, but I might get around to it this weekend. I've been meaning to write something for a while. The tmux man page is quite thorough, but there are a few things that might be confusing if you expect it to behave like screen, such as layouts.
It's easy... rather than the Ctrl+A key sequence that you use in screen, use Ctrl+B in tmux. And to reattach, rather than screen -r, tmux attach does the trick. That's 90% of the usability difference.
People usually point to the BSD license and better code-base as the main selling points. Then they point to vertical split (which you can patch screen to do).
Bottom line is, if you have a screen config you like - there's not much point in switching. If you're just getting into terminal multiplexers, it's worth a look.
For emacs users Tmux is far more intuitive, what with the bindings you expect doing what you expect. Binding C-space for begin selection in screen seemed to be impossible.
I tried tmux after "not getting" screen. I found tmux to just work without me having to do a lot of R-ingTFM. Speaking of RTFM, tmux is now in the base system of OpenBSD so I would not be surprised to see more how-to's online now (not sure when you tried it).
Tmux uses some non-standard escape sequences, e.g. ctrl- and ctrl-shift- arrow keys. In version 1.0 it's impossible to distinguish between ctrl-left and ctrl-shift-left.
If you're a beginner to screen, consider byobu. It's a user-friendly wrapper around screen with intelligent defaults and a discoverable menu-based configuration system. It's also very pretty :)
Does anyone use screen and vim to pair program? Me and my co-founder tried to by ssh'ing into a common box, doing
1) screen -S pairprog
2) ctrl+a :multiuser on
3) ctrl-a :acladd username. However the second person always gets an error with something regarding multiuser
While we are talking about screen - I'd really like to be able to highlight text in VIM (using the visual mode) and then be able to paste that into another screen. Does anyone know how to do this?
Found this about a week ago and am loving it. Almost all of my time is spent in Python or LaTeX, and having either ipython or bash open in a small window just a keystroke away is brilliant!
I don't know off hand how to do it using a vim selection, but you can use screen selections. ^a, [, then navigation keys and space to select, ^a, ] to paste.
You could just copy into the global system buffer instead of vim's buffer. Highlight, then "+y (or d, p, etc.) (Yes you type the quotation mark and plus.) (And vim needs to be built with xterm, I think.)
It's worth grabbing the latest version of screen from git and installing it. That way you get vertical splits with ctrl-a ctrl-|. If you're running a new version of Ubuntu, you already have this.
Building screen isn't too hard. Run the autogen.sh script to generate the configure script.
EDIT: Compare my tmux.conf (http://pastebin.com/m2394d7a2) and my screenrc (http://pastebin.com/d7bb649a5). It was much easier for me to set up tmux the way I wanted from reading the manpage, than it was to configure screen. My screenrc is a hotchpotch of cut-and-paste from lots of different sources, but I never really understood screen. Maybe that's just me.