tmux source code
C Roff Shell M4 Awk Makefile Perl
Clone or download
Permalink
Failed to load latest commit information.
compat Sync imsg from OpenBSD. Apr 23, 2018
logo Add tmux logo, createed by Jason Long. Apr 28, 2015
presentations Add a couple of presentations I wrote a few years ago. One for the il… Jun 4, 2015
regress Add format string test, from "sadie-parayno" in GitHub issue 1358. May 28, 2018
tools Update CHANGES. Feb 19, 2018
.gitignore Add *.dSYM for OS X. Jun 15, 2016
.mailmap Add to .mailmap. Jul 19, 2016
.travis.yml TRAVIS-CI: correct path to configure May 17, 2015
CHANGES Update CHANGES. Aug 10, 2018
CONTRIBUTING Update CHANGES. Jun 5, 2017
COPYING Add a COPYING file, suggested by Dagobert Michelsen. May 31, 2013
ISSUE_TEMPLATE This link is better. Jan 26, 2017
Makefile.am +README.ja. Jul 4, 2018
README Sync tmux description with manual. May 22, 2018
README.ja Japanese README from Kohei Takada. Jul 4, 2018
SYNCING Update release text. May 29, 2017
TODO Add more to TODO. Jan 29, 2018
alerts.c Redrawing status is needed after changing window flags or title does not Dec 28, 2017
arguments.c Merge branch 'obsd-master' Aug 23, 2017
attributes.c Add support for the strikethrough attribute (SGR 9), using the new smxx Mar 22, 2017
autogen.sh Bump automake and autoconf versions. Mar 22, 2017
cfg.c Merge branch 'obsd-master' Jan 17, 2018
client.c Linux: include sys/file.h for flock() Jun 7, 2018
cmd-attach-session.c Fix switch-client -l, from Jean-Marc Eurin in GitHub issue 1343. May 15, 2018
cmd-bind-key.c Bad merge. Jan 25, 2017
cmd-break-pane.c Pass flags into cmd_find_from_* to fix prefer-unattached, reported by Aug 30, 2017
cmd-capture-pane.c Get rid of the extra layer of flags and cmd_prepare() and just store the Apr 22, 2017
cmd-choose-tree.c Add -Z flag to choose-tree, choose-client, choose-buffer to Feb 28, 2018
cmd-command-prompt.c Tidy command prompt callbacks and pass in the client. May 17, 2017
cmd-confirm-before.c Tidy command prompt callbacks and pass in the client. May 17, 2017
cmd-copy-mode.c Rewrite of choose mode, both to simplify and tidy the code and to add May 30, 2017
cmd-detach-client.c Get rid of the extra layer of flags and cmd_prepare() and just store the Apr 22, 2017
cmd-display-message.c Remove unnecessary brackets. Apr 23, 2018
cmd-display-panes.c Make display-panes block the client until a pane is chosen or it time… Aug 2, 2018
cmd-find-window.c Shut up a warning. May 31, 2017
cmd-find.c Merge branch 'obsd-master' Aug 2, 2018
cmd-if-shell.c Make server_client_get_cwd used (almost) everywhere we need to work out May 24, 2018
cmd-join-pane.c Merge branch 'obsd-master' Aug 30, 2017
cmd-kill-pane.c Add x and X to choose-tree (with a confirmation prompt) to kill an Apr 10, 2018
cmd-kill-server.c Mass rename struct cmd_q to struct cmdq_item and related. Oct 16, 2016
cmd-kill-session.c Some extra logging to show why tmux might exit. Jul 9, 2017
cmd-kill-window.c Get rid of the extra layer of flags and cmd_prepare() and just store the Apr 22, 2017
cmd-list-buffers.c In order that people can use formats like #D in #() in the status line May 1, 2017
cmd-list-clients.c In order that people can use formats like #D in #() in the status line May 1, 2017
cmd-list-keys.c Make key trees and some other bits static. Aug 2, 2018
cmd-list-panes.c In order that people can use formats like #D in #() in the status line May 1, 2017
cmd-list-sessions.c In order that people can use formats like #D in #() in the status line May 1, 2017
cmd-list-windows.c In order that people can use formats like #D in #() in the status line May 1, 2017
cmd-list.c I no longer use my SourceForge address so replace it. Jan 19, 2016
cmd-load-buffer.c Do not leak path or use it after free. Jul 31, 2018
cmd-lock-server.c Get rid of the extra layer of flags and cmd_prepare() and just store the Apr 22, 2017
cmd-move-window.c Get rid of the extra layer of flags and cmd_prepare() and just store the Apr 22, 2017
cmd-new-session.c Tweak previous - check for a NULL client and simplify manual text. Jun 8, 2018
cmd-new-window.c Fix new-window -k, GitHub issue 1403. Jul 15, 2018
cmd-paste-buffer.c Merge branch 'obsd-master' Apr 22, 2017
cmd-pipe-pane.c Merge branch 'obsd-master' Jan 17, 2018
cmd-queue.c Pass flags into cmd_find_from_* to fix prefer-unattached, reported by Aug 30, 2017
cmd-refresh-client.c Also recalculate session sizes when refreh-client -C is used. GitHub May 28, 2017
cmd-rename-session.c Allow no client for rename-session, from Ryan Freeman. Apr 11, 2018
cmd-rename-window.c Fix a regression: do not warn about no client in rename-window. Mar 26, 2018
cmd-resize-pane.c Minor cosmetic improvement from KOIE Hidetaka. Jun 24, 2018
cmd-respawn-pane.c Add -c for respawn-pane and respawn-window, from J Raynor. Jul 21, 2017
cmd-respawn-window.c Add -c for respawn-pane and respawn-window, from J Raynor. Jul 21, 2017
cmd-rotate-window.c Pass flags into cmd_find_from_* to fix prefer-unattached, reported by Aug 30, 2017
cmd-run-shell.c Make server_client_get_cwd used (almost) everywhere we need to work out May 24, 2018
cmd-save-buffer.c Merge branch 'obsd-master' Jul 31, 2018
cmd-select-layout.c Fire notify for select-layout, from George Nachman. Jul 2, 2018
cmd-select-pane.c If there are only two panes, always use the other pane as the last Jun 25, 2018
cmd-select-window.c Pass flags into cmd_find_from_* to fix prefer-unattached, reported by Aug 30, 2017
cmd-send-keys.c Make key trees and some other bits static. Aug 2, 2018
cmd-set-buffer.c Mass rename struct cmd_q to struct cmdq_item and related. Oct 16, 2016
cmd-set-environment.c Get rid of the extra layer of flags and cmd_prepare() and just store the Apr 22, 2017
cmd-set-hook.c Add set-hook -R to run a hook immediately (useful to set multiple hooks Jul 4, 2018
cmd-set-option.c Do not try to set default value on user options (they don't have one), Dec 22, 2017
cmd-show-environment.c Get rid of the extra layer of flags and cmd_prepare() and just store the Apr 22, 2017
cmd-show-messages.c Merge branch 'obsd-master' Apr 22, 2017
cmd-show-options.c Merge branch 'obsd-master' May 10, 2017
cmd-source-file.c Merge branch 'obsd-master' May 24, 2018
cmd-split-window.c Merge branch 'obsd-master' May 24, 2018
cmd-string.c Don't overwrite error message when it is available in Jun 14, 2017
cmd-swap-pane.c Get rid of the extra layer of flags and cmd_prepare() and just store the Apr 22, 2017
cmd-swap-window.c Get rid of the extra layer of flags and cmd_prepare() and just store the Apr 22, 2017
cmd-switch-client.c Pass flags into cmd_find_from_* to fix prefer-unattached, reported by Aug 30, 2017
cmd-unbind-key.c Bad merge. Jan 25, 2017
cmd-wait-for.c Mass rename struct cmd_q to struct cmdq_item and related. Oct 16, 2016
cmd.c Merge branch 'obsd-master' Aug 2, 2018
colour.c Show count of search results in copy mode. Mar 24, 2017
compat.h Include headers if found regardless of forkpty. Oct 11, 2017
configure.ac Solaris 11.4 and later prefers mdoc, from Alan Coopersmith. Jul 2, 2018
control-notify.c Some new notifications, mainly for active pane and current window and May 4, 2017
control.c It is silly for cmd_list_parse to return an integer error when it could Jan 15, 2017
environ.c Make environ_log prefix take a format. May 11, 2017
example_tmux.conf 15 minutes is not 1800 seconds, but just remove lock-after-time becau… Jan 10, 2017
format.c Merge branch 'obsd-master' Jul 4, 2018
grid-view.c Add accessors for grid linedata member, for some future work. From Dan Jul 4, 2018
grid.c Helper function to shorten history. Jul 11, 2018
hooks.c Remove unused hooks_run function, from Thomas Adam. Jan 18, 2018
input-keys.c Merge branch 'obsd-master' Jun 28, 2017
input.c Clear history on RIS like most other terminals do. Jul 31, 2018
job.c Merge branch 'obsd-master' Mar 8, 2018
key-bindings.c Make key trees and some other bits static. Aug 2, 2018
key-string.c Add an "Any" key to run a command if a key is pressed that is not bound Jul 16, 2018
layout-custom.c Use the notify name string instead of going via an enum and change Oct 16, 2016
layout-set.c Initialize the size of new panes created by the even-* layout correctly; Dec 31, 2017
layout.c Instead of working out which pane to resize with the mouse by walking Jun 8, 2018
log.c Merge branch 'obsd-master' Jun 5, 2017
mdoc2man.awk Generate tmux.1 using mdoc2man.awk on Solaris, issue brought up and c… Apr 16, 2013
mode-tree.c Make key trees and some other bits static. Aug 2, 2018
names.c Allow ispunct() as well as isalnum() when parsing initial window names. Jul 21, 2017
notify.c Merge branch 'obsd-master' Jul 4, 2018
options-table.c Merge branch 'obsd-master' Apr 23, 2018
options.c Fix filtering so it works after the change to only show windows if they Aug 9, 2017
osdep-aix.c Update my email address. Jan 19, 2016
osdep-cygwin.c Update my email address. Jan 19, 2016
osdep-darwin.c Remove EVENT_* variables from environment after initializing libevent… Mar 21, 2018
osdep-dragonfly.c Update my email address. Jan 19, 2016
osdep-freebsd.c Remove EVENT_* variables from environment after initializing libevent… Mar 21, 2018
osdep-hpux.c Update my email address. Jan 19, 2016
osdep-linux.c Remove EVENT_* variables from environment after initializing libevent… Mar 21, 2018
osdep-netbsd.c Improve NetBSD KERN_PROC2 bit, mostly from Kamil Rytarowski. Feb 19, 2017
osdep-openbsd.c Merge branch 'obsd-master' Oct 12, 2016
osdep-sunos.c Some __unused. Mar 21, 2017
osdep-unknown.c Update my email address. Jan 19, 2016
paste.c Merge branch 'obsd-master' Jan 24, 2017
proc.c Merge branch 'obsd-master' Jul 14, 2017
resize.c Infrastructure for drawing status lines of more than one line in height, Oct 16, 2017
screen-redraw.c Add struct status_line to hold status line members of struct client, not Feb 5, 2018
screen-write.c Move struct screen_sel into screen.c and tidy up members that are only Jul 31, 2018
screen.c Merge branch 'obsd-master' Jul 31, 2018
server-client.c Merge branch 'obsd-master' Aug 2, 2018
server-fn.c Merge branch 'obsd-master' Apr 10, 2018
server.c Merge branch 'obsd-master' Aug 2, 2018
session.c Merge branch 'obsd-master' Aug 2, 2018
status.c Remove an unused variable. Feb 22, 2018
style.c Add support for the strikethrough attribute (SGR 9), using the new smxx Mar 22, 2017
tmux.1 Merge branch 'obsd-master' Jul 23, 2018
tmux.c Merge branch 'obsd-master' Jan 17, 2018
tmux.h Merge branch 'obsd-master' Aug 10, 2018
tty-acs.c Check the terminfo(5) U8 capability and disable using UTF-8 for ACS if May 15, 2017
tty-keys.c kind should be S-Down not S-Up. Oct 9, 2017
tty-term.c Merge branch 'obsd-master' May 7, 2018
tty.c Add accessors for grid linedata member, for some future work. From Dan Jul 4, 2018
utf8.c Merge branch 'obsd-master' Jun 5, 2017
window-buffer.c Merge branch 'obsd-master' Feb 28, 2018
window-client.c Add -Z flag to choose-tree, choose-client, choose-buffer to Feb 28, 2018
window-clock.c Rewrite of choose mode, both to simplify and tidy the code and to add May 30, 2017
window-copy.c calloc the mode data instead of malloc and initialize everything. Aug 5, 2018
window-tree.c Merge branch 'obsd-master' Apr 10, 2018
window.c Merge branch 'obsd-master' Aug 2, 2018
xmalloc.c Key running commands for #() by the unexpanded command, and run them Nov 17, 2016
xmalloc.h Merge branch 'obsd-master' Nov 17, 2016
xterm-keys.c Up to now, tmux sees \033\033[OA as M-Up and since we turned on May 7, 2017

README

Welcome to tmux!

tmux is a terminal multiplexer: it enables a number of terminals to be created,
accessed, and controlled from a single screen. tmux may be detached from a
screen and continue running in the background, then later reattached.

This release runs on OpenBSD, FreeBSD, NetBSD, Linux, OS X and Solaris.

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

	http://libevent.org

It also depends on ncurses, available from:

	http://invisible-island.net/ncurses/

To build and install tmux from a release tarball, use:

	$ ./configure && make
	$ sudo make install

tmux can use the utempter library to update utmp(5), if it is installed - run
configure with --enable-utempter to enable this.

To get and build the latest from version control:

	$ git clone https://github.com/tmux/tmux.git
	$ cd tmux
	$ sh autogen.sh
	$ ./configure && make

(Note that this requires at least a working C compiler, make, autoconf,
automake, pkg-config as well as libevent and ncurses libraries and headers.)

For more information see http://git-scm.com. Patches should be sent by email to
the mailing list at tmux-users@googlegroups.com or submitted through GitHub at
https://github.com/tmux/tmux/issues.

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

	$ nroff -mdoc tmux.1|less

A small example configuration in example_tmux.conf.

And a bash(1) completion file at:

	https://github.com/imomaliev/tmux-bash-completion

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

tmux mailing lists are available. For general discussion and bug reports:

	https://groups.google.com/forum/#!forum/tmux-users

And for Git commit emails:

	https://groups.google.com/forum/#!forum/tmux-git

Subscribe by sending an email to <tmux-users+subscribe@googlegroups.com>.

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

	tmux-users@googlegroups.com

This file and the CHANGES, FAQ, SYNCING and TODO files are licensed under the
ISC license. All other files have a license and copyright notice at their start.

-- Nicholas Marriott <nicholas.marriott@gmail.com>