Go to file
nicm 47c0405b33 Some old tmux versions can sometimes generate layout strings which have
the incorrect size for the top cell. Previously tmux didn't care but now
that panes can be partly hidden, the size matters and is checked more
strictly. So add some code to fix up the most common problem and a
sanity check to reject layouts with any other size problems. Reported by
Aleksandrs Ledovskis in GitHub issue 1930.
2019-11-26 13:14:00 +00:00
.github cc, make, libevent, ncurses are dependencies for all builds so no need to list 2019-07-17 08:57:22 +01:00
compat Missing headers from compat/asprintf.c, from cyyever at outlook dot com. 2019-09-16 08:59:57 +01:00
logo Add tmux logo, createed by Jason Long. 2015-04-28 13:46:47 +01:00
presentations Add a couple of presentations I wrote a few years ago. One for the ill-fated 2015-06-04 08:23:40 +01:00
regress Add a config. 2019-06-18 19:42:52 +01:00
tools Fix gseq use in RGB colour script. 2019-04-28 22:16:34 +01:00
.gitignore Add yacc(1) bits. 2019-05-23 15:11:25 +01:00
.mailmap Add to .mailmap. 2016-07-19 10:42:44 +01:00
.travis.yml Update .travis.yml from master. 2019-05-29 14:40:41 +01:00
CHANGES Add to CHANGES. 2019-09-16 09:00:56 +01:00
COPYING There is no examples directory anymore. 2019-03-26 15:10:05 +00:00
Makefile.am Remove cmd-list.c line in master. 2019-06-15 07:42:49 +01:00
README cc, make, libevent, ncurses are dependencies for all builds so no need to list 2019-07-17 08:57:22 +01:00
README.ja Japanese README from Kohei Takada. 2018-07-04 10:47:14 +01:00
SYNCING Update release text. 2017-05-29 08:40:33 +01:00
alerts.c Redrawing status is needed after changing window flags or title does not 2017-12-28 12:10:50 +00:00
arguments.c Merge branch 'obsd-master' 2019-07-09 17:02:26 +01:00
attributes.c Add support for overline (SGR 53), from Ricardo Banffy. 2019-05-13 20:10:23 +00:00
autogen.sh Bump automake and autoconf versions. 2017-03-22 08:45:53 +00:00
cfg.c Merge branch 'obsd-master' 2019-06-20 09:02:26 +01:00
client.c Merge branch 'obsd-master' 2019-07-26 23:02:27 +01:00
cmd-attach-session.c Add new-session -X and attach-session -x to send SIGHUP to parent when 2019-06-03 18:28:37 +00:00
cmd-bind-key.c Add an additional {} syntax for defining strings in the configuration 2019-05-27 12:16:27 +00:00
cmd-break-pane.c Add a per-pane option set. Pane options inherit from window options (so 2019-06-20 11:59:59 +00:00
cmd-capture-pane.c Missing space in capture-pane usage, from Ben Boeckel. 2019-03-14 06:36:21 +00:00
cmd-choose-tree.c Add [template] to display-panes and choose-{buffer,client,tree} usage 2018-11-15 10:38:53 +00:00
cmd-command-prompt.c Replace the split parser code (cfg.c and cmd-string.c) with a single 2019-05-23 11:13:30 +00:00
cmd-confirm-before.c Replace the split parser code (cfg.c and cmd-string.c) with a single 2019-05-23 11:13:30 +00:00
cmd-copy-mode.c Treat keys in identify mode (display-panes) specially and handle them 2019-05-07 11:24:03 +00:00
cmd-detach-client.c Get rid of the extra layer of flags and cmd_prepare() and just store the 2017-04-22 10:22:39 +00:00
cmd-display-menu.c Change display-menu from taking a single string to a set of arguments, 2019-05-28 07:18:42 +00:00
cmd-display-message.c Remove a leftover abort and some fixes from cppcheck. 2019-05-30 20:54:03 +00:00
cmd-display-panes.c Pass keys that aren't 0-9 on to normal key processing when display-panes 2019-06-27 15:49:43 +01:00
cmd-find-window.c Add -r to find-window for regex instead of fnmatch. 2019-06-20 20:31:04 +00:00
cmd-find.c Merge branch 'obsd-master' 2019-06-12 11:02:25 +01:00
cmd-if-shell.c Use the right client for if -b. 2019-07-17 17:49:23 +00:00
cmd-join-pane.c Merge branch 'obsd-master' 2019-06-20 15:02:26 +01:00
cmd-kill-pane.c Add x and X to choose-tree (with a confirmation prompt) to kill an 2018-04-10 10:48:44 +00:00
cmd-kill-server.c Mass rename struct cmd_q to struct cmdq_item and related. 2016-10-16 19:04:05 +00:00
cmd-kill-session.c Break new window and pane creation common code from various commands and 2019-04-17 14:37:48 +00:00
cmd-kill-window.c Get rid of the extra layer of flags and cmd_prepare() and just store the 2017-04-22 10:22:39 +00:00
cmd-list-buffers.c In order that people can use formats like #D in #() in the status line 2017-05-01 12:20:55 +00:00
cmd-list-clients.c In order that people can use formats like #D in #() in the status line 2017-05-01 12:20:55 +00:00
cmd-list-keys.c Break the argument escaping code into a separate function and use it to 2019-05-23 14:03:44 +00:00
cmd-list-panes.c In order that people can use formats like #D in #() in the status line 2017-05-01 12:20:55 +00:00
cmd-list-sessions.c Support for windows larger than visible on the attached client. This has 2018-10-18 08:38:01 +00:00
cmd-list-windows.c In order that people can use formats like #D in #() in the status line 2017-05-01 12:20:55 +00:00
cmd-load-buffer.c Add a cmdq_continue function rather than twiddling the flag directly. 2019-06-18 11:08:42 +00:00
cmd-lock-server.c Get rid of the extra layer of flags and cmd_prepare() and just store the 2017-04-22 10:22:39 +00:00
cmd-move-window.c Get rid of the extra layer of flags and cmd_prepare() and just store the 2017-04-22 10:22:39 +00:00
cmd-new-session.c If only one of -x or -y is given, use the calculated size for the 2019-06-05 06:44:08 +01:00
cmd-new-window.c Support multiple occurances of the same argument. Use this for a new 2019-04-28 20:05:50 +00:00
cmd-parse.y Handle comments more correctly inside {}, from Avi Halachmi. 2019-06-18 19:43:13 +01:00
cmd-paste-buffer.c Merge branch 'obsd-master' 2017-04-22 12:01:19 +01:00
cmd-pipe-pane.c Merge branch 'obsd-master' 2019-03-18 15:07:51 +00:00
cmd-queue.c Add a cmdq_continue function rather than twiddling the flag directly. 2019-06-18 11:08:42 +00:00
cmd-refresh-client.c Add -F to refresh-client to specify flags for control clients - one flag 2019-07-10 11:20:10 +00:00
cmd-rename-session.c Allow no client for rename-session, from Ryan Freeman. 2018-04-11 09:54:45 +00:00
cmd-rename-window.c Fix a regression: do not warn about no client in rename-window. 2018-03-26 07:39:12 +01:00
cmd-resize-pane.c Correctly adjust mouse position if the status line is at the top and 2019-07-06 20:56:34 +00:00
cmd-resize-window.c Support for windows larger than visible on the attached client. This has 2018-10-18 08:38:01 +00:00
cmd-respawn-pane.c Support multiple occurances of the same argument. Use this for a new 2019-04-28 20:05:50 +00:00
cmd-respawn-window.c Support multiple occurances of the same argument. Use this for a new 2019-04-28 20:05:50 +00:00
cmd-rotate-window.c Break new window and pane creation common code from various commands and 2019-04-17 14:37:48 +00:00
cmd-run-shell.c Add a cmdq_continue function rather than twiddling the flag directly. 2019-06-18 11:08:42 +00:00
cmd-save-buffer.c Use the right client when working out where to save or load the buffer, 2019-06-14 16:04:57 +01:00
cmd-select-layout.c Set the window size as well as the layout size when using the preset 2019-04-17 14:43:49 +00:00
cmd-select-pane.c Make select-pane -P set window-active-style also to match previous 2019-09-24 12:20:25 +01:00
cmd-select-window.c Merge hooks into options and make each one an array option. This allows 2019-04-26 11:38:51 +00:00
cmd-send-keys.c The command item changes so can't keep getting the target out of it, need to use 2019-07-10 14:33:24 +00:00
cmd-set-buffer.c Mass rename struct cmd_q to struct cmdq_item and related. 2016-10-16 19:04:05 +00:00
cmd-set-environment.c Get rid of the extra layer of flags and cmd_prepare() and just store the 2017-04-22 10:22:39 +00:00
cmd-set-option.c Add a per-pane option set. Pane options inherit from window options (so 2019-06-20 11:59:59 +00:00
cmd-show-environment.c Get rid of the extra layer of flags and cmd_prepare() and just store the 2017-04-22 10:22:39 +00:00
cmd-show-messages.c Merge branch 'obsd-master' 2018-08-23 19:02:40 +01:00
cmd-show-options.c Merge branch 'obsd-master' 2019-06-20 17:02:26 +01:00
cmd-source-file.c Merge branch 'obsd-master' 2019-06-05 23:02:26 +01:00
cmd-split-window.c Merge branch 'obsd-master' 2019-05-03 23:02:28 +01:00
cmd-swap-pane.c Add a per-pane option set. Pane options inherit from window options (so 2019-06-20 11:59:59 +00:00
cmd-swap-window.c Fix swap-window -d to work as intended, GitHub issue 1879 from Sam Stuewe. 2019-09-16 08:59:36 +01:00
cmd-switch-client.c Document that switch-client can change all of session,window,pane and 2019-04-17 14:39:37 +00:00
cmd-unbind-key.c Bad merge. 2017-01-25 16:38:13 +00:00
cmd-wait-for.c Add a cmdq_continue function rather than twiddling the flag directly. 2019-06-18 11:08:42 +00:00
cmd.c It is not longer necessary to double-escape ; in %%%, problem reported 2019-09-16 08:59:49 +01:00
colour.c Add support for underscore colours with Setulc capability, mostly from 2019-06-27 15:17:41 +00:00
compat.h Remove unused fparseln compat code. 2019-05-27 14:28:05 +01:00
configure.ac 3.0-rc5. 2019-09-16 09:01:56 +01:00
control-notify.c Add -F to refresh-client to specify flags for control clients - one flag 2019-07-10 11:20:10 +00:00
control.c Do not leak empty lines, GitHub issue 1824. 2019-07-09 13:19:36 +00:00
environ.c options_array_item_value cannot return NULL. 2019-04-25 19:36:59 +00:00
example_tmux.conf -attr -> -style. 2019-05-06 21:57:32 +01:00
format-draw.c Correctly clear underscore colour in grid_get_cell1, also fix struct 2019-07-06 20:37:29 +00:00
format.c Mouse formats don't work in copy mode so don't try to use them. 2019-09-25 15:54:52 +01:00
grid-view.c grid_view_delete_cells does need to clear, GitHub issue 1871. 2019-08-16 19:34:29 +01:00
grid.c Remove check for same size - size has already been changed so this 2019-09-16 08:58:35 +01:00
input-keys.c Merge branch 'obsd-master' 2019-07-09 17:02:26 +01:00
input.c Add support for the SD (scroll down) escape sequence, GitHub issue 1861. 2019-08-26 17:28:24 +01:00
job.c Merge branch 'obsd-master' 2019-06-28 17:02:26 +01:00
key-bindings.c Up and Down are already used, use < and > instead. 2019-09-25 15:56:39 +01:00
key-string.c Add a -H flag to send-keys to send literal keys given as hex numbers 2019-07-09 14:03:12 +00:00
layout-custom.c Some old tmux versions can sometimes generate layout strings which have 2019-11-26 13:14:00 +00:00
layout-set.c Make layout_fix_offsets take a window like layout_fix_panes. 2019-07-15 18:25:07 +00:00
layout.c Simplify code to work out if an extra line is needed in the cell. 2019-07-15 18:43:32 +00:00
log.c Merge branch 'obsd-master' 2017-06-05 11:59:38 +01:00
mdoc2man.awk Generate tmux.1 using mdoc2man.awk on Solaris, issue brought up and changes 2013-04-16 11:33:53 +01:00
menu.c Change menu key bindings to Up and Down and also close it on any mouse 2019-09-25 15:56:30 +01:00
mode-tree.c Add a few vi(1) key aliases, from D Ben Knoble. 2019-07-19 07:20:51 +00:00
names.c Allow ispunct() as well as isalnum() when parsing initial window names. 2017-07-21 12:58:02 +00:00
notify.c Merge branch 'obsd-master' 2019-05-07 13:02:27 +01:00
options-table.c Merge branch 'obsd-master' 2019-06-26 15:02:26 +01:00
options.c Do not always set scope for panes because the window check might fail, 2019-06-23 10:00:29 +00:00
osdep-aix.c Update my email address. 2016-01-19 18:07:25 +00:00
osdep-cygwin.c Update my email address. 2016-01-19 18:07:25 +00:00
osdep-darwin.c Warning fixes from Carlo Marcelo Arenas Belón. 2019-04-10 19:27:09 +01:00
osdep-dragonfly.c Update my email address. 2016-01-19 18:07:25 +00:00
osdep-freebsd.c Fixes for GNU/kFreeBSD from James Clarke. 2018-11-21 08:50:22 +00:00
osdep-hpux.c Update my email address. 2016-01-19 18:07:25 +00:00
osdep-linux.c Remove EVENT_* variables from environment after initializing libevent so they 2018-03-21 08:15:15 +00:00
osdep-netbsd.c Use KERN_PROC_CWD on NetBSD, from Leonardo Taccari. 2019-06-20 06:57:37 +01:00
osdep-openbsd.c Merge branch 'obsd-master' 2016-10-12 09:45:49 +01:00
osdep-sunos.c Some __unused. 2017-03-21 19:27:18 +00:00
osdep-unknown.c Update my email address. 2016-01-19 18:07:25 +00:00
paste.c Merge branch 'obsd-master' 2019-04-02 11:02:44 +01:00
proc.c Merge branch 'obsd-master' 2017-07-14 22:01:10 +01:00
regsub.c Fix how regex substitution works with empty matches. 2019-06-20 15:40:14 +00:00
resize.c Do not reduce window height by status line height for control mode 2019-05-11 06:34:56 +00:00
screen-redraw.c Mark pane status line jobs with FORMAT_STATUS also so it redraws when 2019-07-24 21:16:17 +00:00
screen-write.c Add support for the SD (scroll down) escape sequence, GitHub issue 1861. 2019-08-26 17:28:24 +01:00
screen.c Store and restore cursor across reflow by working out a position based 2019-04-02 11:11:12 +01:00
server-client.c Merge branch 'obsd-master' 2019-07-17 21:02:26 +01:00
server-fn.c Merge branch 'obsd-master' 2019-06-20 15:02:26 +01:00
server.c Merge branch 'obsd-master' 2019-06-20 09:02:26 +01:00
session.c Merge branch 'obsd-master' 2019-04-27 20:09:07 +01:00
spawn.c Do not set uninitialized signal mask when creating an empty pane. 2019-09-25 15:56:53 +01:00
status.c Redraw status line if size changes, GitHub issue 1762. Also fix length 2019-05-28 21:04:35 +01:00
style.c Correctly clear underscore colour in grid_get_cell1, also fix struct 2019-07-06 20:37:29 +00:00
tmux.1 Merge branch 'obsd-master' 2019-07-19 09:02:26 +01:00
tmux.c Merge branch 'obsd-master' 2019-06-20 15:02:26 +01:00
tmux.h Add support for the SD (scroll down) escape sequence, GitHub issue 1861. 2019-08-26 17:28:24 +01:00
tty-acs.c Change a couple of ACS characters to be more sensible and add a few 2019-05-17 05:48:25 +00:00
tty-keys.c Save mouse buttons as well as position. 2019-05-09 14:09:32 +00:00
tty-term.c Add support for the SD (scroll down) escape sequence, GitHub issue 1861. 2019-08-26 17:28:24 +01:00
tty.c Add support for the SD (scroll down) escape sequence, GitHub issue 1861. 2019-08-26 17:28:24 +01:00
utf8.c Merge branch 'obsd-master' 2019-05-26 21:02:26 +01:00
window-buffer.c Merge branch 'obsd-master' 2019-05-29 23:02:25 +01:00
window-client.c Change display-menu from taking a single string to a set of arguments, 2019-05-28 07:18:42 +00:00
window-clock.c DECRC and DECSC apparently need to preserve origin mode as well, based 2019-03-12 20:02:47 +00:00
window-copy.c Clear search marks before resize, GitHub issue 1823. 2019-07-08 20:29:11 +00:00
window-tree.c Merge branch 'obsd-master' 2019-05-28 09:02:26 +01:00
window.c Make client exit if pane where input is going is closed. 2019-09-16 09:00:08 +01:00
xmalloc.c asprintf returns -1, not an arbitrary value < 0. Also upon error the 2019-06-28 05:44:09 +00:00
xmalloc.h Merge branch 'obsd-master' 2016-11-17 12:01:10 +00:00
xterm-keys.c Up to now, tmux sees \033\033[OA as M-Up and since we turned on 2017-05-07 21:25:59 +00:00

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.

* Dependencies

tmux depends on libevent 2.x, available from:

	https://github.com/libevent/libevent/releases/latest

It also depends on ncurses, available from:

	https://invisible-mirror.net/archives/ncurses/

* Installation

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 - note that this requires
autoconf, automake and pkg-config:

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

* Contributing

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

	tmux-users@googlegroups.com

Or open a GitHub issue or pull request.

* Documentation

For documentation on using tmux, see the tmux.1 manpage. View it from the
source tree with:

	$ nroff -mdoc tmux.1|less

A small example configuration is in example_tmux.conf.

A bash(1) completion file is at:

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

For debugging, run tmux with -v and -vv to generate server and client log files
in the current directory.

* Support

The tmux mailing list for general discussion and bug reports is:

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

Subscribe by sending an email to:

	tmux-users+subscribe@googlegroups.com

* License

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