Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Clone of the tmux Git repository. The master branch contains the latest unreleased code. There are topic branches which may be subject to rebasing, so don't base changes off them. DO NOT SEND me pull-requests, send patches to tmux-users mailing list instead.
C Groff PostScript Awk VimL Shell Other
Failed to load latest commit information.
compat queue.h should come from compat.h.
examples t_kP is the same as PageUp, so no need for it, from Daniel Hahler.
logo Add tmux logo, createed by Jason Long.
tools No need for $Id$ now.
www Add tmux4.png.
.gitignore Ignore .dirstamp files
.mailmap Sanitise additional .mailmap entries
.travis.yml TRAVIS-CI: correct path to configure
CHANGES CHANGES for tmux 2.0
COPYING Add a COPYING file, suggested by Dagobert Michelsen.
FAQ Use -a for terminal-overrides from Daniel Hahler.
Makefile.am Add tmux4.png.
README Note libevent version.
README.md README.md: github-specific readme
SYNCING SYNCING: Make a note about libutils
TODO +.
arguments.c No need for $Id$ now.
array.h Merge branch 'obsd-master'
attributes.c No need for $Id$ now.
autogen.sh Only set AUTO{MAKE,CONF}_VERSION on OpenBSD
cfg.c Merge branch 'obsd-master'
client.c Merge branch 'obsd-master'
cmd-attach-session.c Move the functions to convert ids from strings into session.c and win…
cmd-bind-key.c Support for multiple key tables to commands to be bound to sequences of
cmd-break-pane.c Wrap all the individual format_* calls in a single format_defaults
cmd-capture-pane.c Move input parser structs into input.c (removing fairly useless
cmd-choose-buffer.c Rewrite of the target resolution internals to be simpler and more
cmd-choose-client.c Rewrite of the target resolution internals to be simpler and more
cmd-choose-tree.c Rewrite of the target resolution internals to be simpler and more
cmd-clear-history.c No need for $Id$ now.
cmd-command-prompt.c Rewrite of tmux mouse support which was a mess. Instead of having
cmd-confirm-before.c Rewrite of tmux mouse support which was a mess. Instead of having
cmd-copy-mode.c Bind mouse dragging so that it is passed through to applications if they
cmd-delete-buffer.c No need for $Id$ now.
cmd-detach-client.c Convert clients list into a TAILQ.
cmd-display-message.c Rewrite of the target resolution internals to be simpler and more
cmd-display-panes.c No need for $Id$ now.
cmd-find-window.c Use a TAILQ not array for find-window.
cmd-find.c Merge branch 'obsd-master'
cmd-if-shell.c Set working directory for run-shell and if-shell.
cmd-join-pane.c No need for $Id$ now.
cmd-kill-pane.c No need for $Id$ now.
cmd-kill-server.c No need for $Id$ now.
cmd-kill-session.c No need for $Id$ now.
cmd-kill-window.c Add a format window_linked which is 1 if a window has been linked
cmd-list-buffers.c Wrap all the individual format_* calls in a single format_defaults
cmd-list-clients.c Convert clients list into a TAILQ.
cmd-list-keys.c Support for multiple key tables to commands to be bound to sequences of
cmd-list-panes.c Wrap all the individual format_* calls in a single format_defaults
cmd-list-sessions.c Wrap all the individual format_* calls in a single format_defaults
cmd-list-windows.c Wrap all the individual format_* calls in a single format_defaults
cmd-list.c No need for $Id$ now.
cmd-load-buffer.c Rewrite of the target resolution internals to be simpler and more
cmd-lock-server.c No need for $Id$ now.
cmd-move-window.c Fix moving windows to nonexistent indexes when renumber-windows is
cmd-new-session.c Rewrite of the target resolution internals to be simpler and more
cmd-new-window.c Remove a couple of now-unused variables.
cmd-paste-buffer.c Merge branch 'obsd-master'
cmd-pipe-pane.c No paths.h on Solaris.
cmd-queue.c Rewrite of tmux mouse support which was a mess. Instead of having
cmd-refresh-client.c No need for $Id$ now.
cmd-rename-session.c No need for $Id$ now.
cmd-rename-window.c No need for $Id$ now.
cmd-resize-pane.c Rewrite of tmux mouse support which was a mess. Instead of having
cmd-respawn-pane.c Fix some format specifier nits, from Ben Boeckel.
cmd-respawn-window.c No need for $Id$ now.
cmd-rotate-window.c No need for $Id$ now.
cmd-run-shell.c Set working directory for run-shell and if-shell.
cmd-save-buffer.c Merge branch 'obsd-master'
cmd-select-layout.c Add select-layout -o to undo the last layout change (apply the previo…
cmd-select-pane.c Do not complain when directions fail.
cmd-select-window.c No need for $Id$ now.
cmd-send-keys.c Move input parser structs into input.c (removing fairly useless
cmd-set-buffer.c No need for $Id$ now.
cmd-set-environment.c No need for $Id$ now.
cmd-set-option.c Convert clients list into a TAILQ.
cmd-show-environment.c No need for $Id$ now.
cmd-show-messages.c Merge branch 'obsd-master'
cmd-show-options.c No need for $Id$ now.
cmd-source-file.c No need for $Id$ now.
cmd-split-window.c Merge branch 'obsd-master'
cmd-string.c No need for $Id$ now.
cmd-swap-pane.c No need for $Id$ now.
cmd-swap-window.c No need for $Id$ now.
cmd-switch-client.c Update environment when switching sessions as well as attaching, from Si
cmd-unbind-key.c Support for multiple key tables to commands to be bound to sequences of
cmd-wait-for.c No need for $Id$ now.
cmd.c Merge branch 'obsd-master'
colour.c Fix some format specifier nits, from Ben Boeckel.
compat.h OS X lacks HOST_NAME_MAX, reported by Christian Ebert.
configure.ac Start working on 2.1
control-notify.c Convert clients list into a TAILQ.
control.c Rewrite of tmux mouse support which was a mess. Instead of having
environ.c Simplify environ_push so it doesn't need the ARRAY_* functions.
format.c Merge branch 'obsd-master'
grid-cell.c Rather than having two grids for each pane, one for ASCII and one for
grid-view.c Revert to r1.16 since this is still clearly broken and I can't see how
grid.c Remove some stuff that accidentally ended up here from portable, and
input-keys.c Merge branch 'obsd-master'
input.c Remove the c0-* options which never really worked satisfactorily. Going
job.c Merge branch 'obsd-master'
key-bindings.c Style spacing nits.
key-string.c Rewrite of tmux mouse support which was a mess. Instead of having
layout-custom.c Always format real layout even when zoomed.
layout-set.c No need for $Id$ now.
layout.c Rewrite of tmux mouse support which was a mess. Instead of having
log.c Merge branch 'obsd-master'
mdoc2man.awk Generate tmux.1 using mdoc2man.awk on Solaris, issue brought up and c…
mode-key.c mode_key_entry can go into mode-key.c; also a few spaces->tabs.
names.c Wrap all the individual format_* calls in a single format_defaults
notify.c Merge branch 'obsd-master'
options-table.c Merge branch 'obsd-master'
options.c When given an invalid style, don't set the option to the default. Fix
osdep-aix.c No need for $Id$ now.
osdep-cygwin.c Need param.h, from Ismail Donmez.
osdep-darwin.c No need for $Id$ now.
osdep-dragonfly.c No need for $Id$ now.
osdep-freebsd.c No need for $Id$ now.
osdep-hpux.c No need for $Id$ now.
osdep-linux.c No need for $Id$ now.
osdep-netbsd.c No need for $Id$ now.
osdep-openbsd.c Merge branch 'obsd-master'
osdep-sunos.c No need for $Id$ now.
osdep-unknown.c No need for $Id$ now.
paste.c Merge branch 'obsd-master'
resize.c Convert clients list into a TAILQ.
screen-redraw.c If status line is at the top, the offset needs to be adjusted when
screen-write.c Two improvements to reflow from Balazs Kezes:
screen.c Merge branch 'obsd-master'
server-client.c Add back __CYGWIN__ block
server-fn.c Merge branch 'obsd-master'
server-window.c Add bell-action "other" to pass through bells in all windows except the
server.c Merge branch 'obsd-master'
session.c Merge branch 'obsd-master'
signal.c No need for $Id$ now.
status.c Remove ARRAY_* from history and expand completion to complete a) layout
style.c Style spacing nits.
tmux.1 Merge branch 'obsd-master'
tmux.c Merge branch 'obsd-master'
tmux.h Merge branch 'obsd-master'
tty-acs.c No need for $Id$ now.
tty-keys.c Rewrite of tmux mouse support which was a mess. Instead of having
tty-term.c Merge branch 'obsd-master'
tty.c In terminfo, sometimes cvvis implies cnorm and sometimes it doesn't, so
utf8.c Merge branch 'obsd-master'
window-choose.c window_choose_mode_item can move into window-choose.c.
window-clock.c Rewrite of tmux mouse support which was a mess. Instead of having
window-copy.c Set working directory for run-shell and if-shell.
window.c Merge branch 'obsd-master'
xmalloc.c No need for $Id$ now.
xterm-keys.c No need for $Id$ now.

README.md

Welcome to tmux!

Build Status

tmux is a "terminal multiplexer", it enables a number of terminals (or windows) to be accessed and controlled from a single terminal. tmux is intended to be a simple, modern, BSD-licensed alternative to programs such as GNU screen.

This release runs on FreeBSD, NetBSD, Linux and OS X and may still run on Solaris and AIX.

tmux depends on libevent 2.x. Download it from:

http://www.monkey.org/~provos/libevent/

To build tmux from a release tarball, do:

$ ./configure && make
$ sudo make install

To get and build the latest from version control:

$ git clone git://git.code.sf.net/p/tmux/tmux-code tmux
$ cd tmux
$ sh autogen.sh
$ ./configure && make

For more information see https://sourceforge.net/scm/?type=git&group_id=200378 and http://git-scm.com. Patches should be sent by email to the mailing list at tmux-users@lists.sourceforge.net.

For documentation on using tmux, see the tmux.1 manpage. It can be viewed from the source tree with:

$ nroff -mdoc tmux.1|less

Some common questions are answered in the FAQ file and a more extensive (but slightly out of date) guide is available in the OpenBSD FAQ at http://www.openbsd.org/faq/faq7.html#tmux. A rough todo list is in the TODO file and some example configurations and a Vim syntax file are in the examples directory.

For debugging, running tmux with -v or -vv will generate server and client log files in the current directory.

tmux mailing lists are available. Visit:

https://sourceforge.net/mail/?group_id=200378

Bug reports, feature suggestions and especially code contributions are most welcome. Please send by email to:

tmux-users@lists.sourceforge.net

This file and the CHANGES, FAQ, TODO, and SYNCING files are licensed under the ISC license. Files under examples/ remain copyright their authors unless otherwise stated in the file but permission has been received to distribute them with tmux. All other files have a license and copyright notice at their start.

Something went wrong with that request. Please try again.