Go to file
Nicholas Marriott f2d4a1f022 Needs fcntl.h. 2021-08-16 13:51:55 +01:00
.github Tweak comment about logs. 2021-08-10 08:14:14 +01:00
compat Remove compat.h again. 2021-03-08 08:59:13 +00:00
fuzz Needs fcntl.h. 2021-08-16 13:51:55 +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 Minor cleanups, GitHub issue 2824. 2021-08-14 18:39:56 +01:00
tools Minor cleanups, GitHub issue 2824. 2021-08-14 18:39:56 +01:00
.gitignore Scaffold for oss-fuzz, from Sergey Nizovtsev. 2020-11-09 16:44:39 +00:00
.mailmap Add to .mailmap. 2016-07-19 10:42:44 +01:00
.travis.yml Add FreeBSD CI, from Jan Beich. 2020-05-19 12:34:34 +01:00
CHANGES Minor cleanups, GitHub issue 2824. 2021-08-14 18:39:56 +01:00
COPYING There is no examples directory anymore. 2019-03-26 15:10:05 +00:00
Makefile.am Pick default-terminal from the first of tmux-256color, tmux, screen-256color, 2021-07-14 11:03:19 +01:00
README Also pkg-config. 2020-09-30 13:27:25 +01:00
README.ja Japanese README from Kohei Takada. 2018-07-04 10:47:14 +01:00
SYNCING Minor cleanups, GitHub issue 2824. 2021-08-14 18:39:56 +01:00
alerts.c Merge branch 'obsd-master' into master 2021-04-12 12:01:32 +01:00
arguments.c Merge branch 'obsd-master' 2020-06-12 10:01:19 +01:00
attributes.c Add an attribute for ACS. 2020-05-16 14:13:37 +00:00
autogen.sh Bump automake and autoconf versions. 2017-03-22 08:45:53 +00:00
cfg.c Merge branch 'obsd-master' into master 2021-04-07 16:01:21 +01:00
client.c Merge branch 'obsd-master' into master 2021-02-17 09:58:51 +00:00
cmd-attach-session.c Change focus to be driven by events rather than walking all panes at end 2021-08-13 06:52:51 +00:00
cmd-bind-key.c Allow -N without a command to change or add a note to an existing key. 2020-09-08 10:19:19 +00:00
cmd-break-pane.c Add -b flags to insert a window before (like the existing -a for after) 2020-06-13 09:05:53 +00:00
cmd-capture-pane.c Instead of sending all data to control mode clients as fast as possible, 2020-06-01 09:43:00 +00:00
cmd-choose-tree.c Permit shortcut keys in buffer, client, tree modes to be configured with 2021-04-12 06:50:25 +00:00
cmd-command-prompt.c Set return code for confirm-before and make command-prompt also block, 2021-08-13 06:50:42 +00:00
cmd-confirm-before.c Set return code for confirm-before and make command-prompt also block, 2021-08-13 06:50:42 +00:00
cmd-copy-mode.c Move cmdq_state into cmd-queue.c. 2020-04-13 14:46:04 +00:00
cmd-detach-client.c Make client -c and -t handling common in cmd-queue.c and try to be 2020-04-13 20:51:57 +00:00
cmd-display-menu.c Merge branch 'obsd-master' into master 2021-08-14 01:34:54 +01:00
cmd-display-message.c Missing argument specifier for -c. 2021-08-14 08:06:37 +00:00
cmd-display-panes.c Add a menu when a popup is present (mouse only for now). 2021-08-13 18:54:54 +00:00
cmd-find-window.c Add -i to find-window to ignore case. 2020-05-29 13:42:13 +00:00
cmd-find.c Add a client flag 'active-pane' which stores the active pane in the 2020-05-16 16:20:59 +00:00
cmd-if-shell.c Set return code for confirm-before and make command-prompt also block, 2021-08-13 06:50:42 +00:00
cmd-join-pane.c Merge branch 'obsd-master' into master 2021-03-11 08:01:29 +00:00
cmd-kill-pane.c Add a client flag 'active-pane' which stores the active pane in the 2020-05-16 16:20:59 +00:00
cmd-kill-server.c Make struct cmd local to cmd.c and move it out of tmux.h. 2020-04-13 08:26:27 +00:00
cmd-kill-session.c Also move cmdq_item and cmdq_list into cmd-queue.c (this is to make its 2020-04-13 10:59:58 +00:00
cmd-kill-window.c kill-window -a cannot just walk the list of windows because if 2020-07-04 14:24:02 +00:00
cmd-list-buffers.c Also move cmdq_item and cmdq_list into cmd-queue.c (this is to make its 2020-04-13 10:59:58 +00:00
cmd-list-clients.c Change the existing client flags for control mode to apply for any 2020-05-16 15:45:29 +00:00
cmd-list-keys.c Include modifiers when looking up an individual key. 2021-06-10 09:19:56 +01:00
cmd-list-panes.c Also move cmdq_item and cmdq_list into cmd-queue.c (this is to make its 2020-04-13 10:59:58 +00:00
cmd-list-sessions.c Also move cmdq_item and cmdq_list into cmd-queue.c (this is to make its 2020-04-13 10:59:58 +00:00
cmd-list-windows.c Change so that window_flags escapes # automatically which means configs 2021-01-20 07:16:54 +00:00
cmd-load-buffer.c calloc cb data so the client is NULL. 2020-09-04 12:24:25 +00:00
cmd-lock-server.c Missed a few warnings in previous. 2020-04-13 20:54:15 +00:00
cmd-move-window.c Add -b flags to insert a window before (like the existing -a for after) 2020-06-13 09:05:53 +00:00
cmd-new-session.c Change focus to be driven by events rather than walking all panes at end 2021-08-13 06:52:51 +00:00
cmd-new-window.c Add a -S flag to new-window to make it select the existing window if one 2021-02-05 12:23:49 +00:00
cmd-parse.y Leave newlines inside multiline quotes. 2020-12-01 10:48:03 +00:00
cmd-paste-buffer.c Merge branch 'obsd-master' 2020-04-13 14:01:45 +01:00
cmd-pipe-pane.c Merge branch 'obsd-master' 2020-05-21 08:55:31 +01:00
cmd-queue.c Move hook format setup earlier and add a hook_client, GitHub issue 2809. 2021-08-12 08:05:11 +00:00
cmd-refresh-client.c Add a way for control mode clients to subscribe to a format and be 2020-07-06 09:14:20 +00:00
cmd-rename-session.c Forbid empty session names, GitHub issue 2758. 2021-07-06 08:18:38 +00:00
cmd-rename-window.c Drop having a separate type for style options and make them all strings, 2020-05-16 15:01:30 +00:00
cmd-resize-pane.c Fix some error strings, from Kris Katterjohn. 2020-05-25 18:17:14 +00:00
cmd-resize-window.c Also move cmdq_item and cmdq_list into cmd-queue.c (this is to make its 2020-04-13 10:59:58 +00:00
cmd-respawn-pane.c Drop having a separate type for style options and make them all strings, 2020-05-16 15:01:30 +00:00
cmd-respawn-window.c Make client -c and -t handling common in cmd-queue.c and try to be 2020-04-13 20:51:57 +00:00
cmd-rotate-window.c Add split-window -Z to start the pane zoomed, GitHub issue 2591. 2021-03-11 06:31:05 +00:00
cmd-run-shell.c Set return code for confirm-before and make command-prompt also block, 2021-08-13 06:50:42 +00:00
cmd-save-buffer.c Merge branch 'obsd-master' into master 2021-02-17 09:58:12 +00:00
cmd-select-layout.c Also move cmdq_item and cmdq_list into cmd-queue.c (this is to make its 2020-04-13 10:59:58 +00:00
cmd-select-pane.c Evaluate styles with the pane variables. 2021-08-12 19:47:05 +00:00
cmd-select-window.c Client could be NULL in select-window (for example in .tmux.conf), do 2020-10-29 13:47:40 +00:00
cmd-send-keys.c Break the colour palette into a struct rather than just a single array 2021-08-11 20:49:55 +00:00
cmd-set-buffer.c Add a -w flag to set- and load-buffer to send to clipboard using OSC 52. 2020-09-02 13:46:35 +00:00
cmd-set-environment.c Add -F to set-environment and source-file; GitHub issue 2359. 2020-09-01 09:19:01 +00:00
cmd-set-option.c Make synchronize-panes a pane option and add -U flag to set-option to 2020-12-15 08:31:50 +00:00
cmd-show-environment.c Also move cmdq_item and cmdq_list into cmd-queue.c (this is to make its 2020-04-13 10:59:58 +00:00
cmd-show-messages.c Move lazy resize from the pane to the window, there is no point in 2020-05-16 16:50:55 +00:00
cmd-show-options.c Merge branch 'obsd-master' into master 2020-12-28 12:01:21 +00:00
cmd-show-prompt-history.c Add different command historys for different types of prompts 2021-06-10 07:50:03 +00:00
cmd-source-file.c Do not use NULL client when source-file finishes, GitHub issue 2707. 2021-06-10 09:23:15 +01:00
cmd-split-window.c Merge branch 'obsd-master' into master 2021-03-11 08:01:29 +00:00
cmd-swap-pane.c Add split-window -Z to start the pane zoomed, GitHub issue 2591. 2021-03-11 06:31:05 +00:00
cmd-swap-window.c Also move cmdq_item and cmdq_list into cmd-queue.c (this is to make its 2020-04-13 10:59:58 +00:00
cmd-switch-client.c Change focus to be driven by events rather than walking all panes at end 2021-08-13 06:52:51 +00:00
cmd-unbind-key.c Add -q flag to unbind-key to hide errors, GitHub issue 2381. 2020-09-16 19:12:59 +00:00
cmd-wait-for.c Also move cmdq_item and cmdq_list into cmd-queue.c (this is to make its 2020-04-13 10:59:58 +00:00
cmd.c Add different command historys for different types of prompts 2021-06-10 07:50:03 +00:00
colour.c Do not use NULL palette when clearing. 2021-08-14 14:00:07 +00:00
compat.h Add compat clock_gettime for older macOS. GitHub issue 2555. 2021-02-05 11:01:21 +00:00
configure.ac Do not configure on macOS without the user making a choice about utf8proc. 2021-08-04 09:49:08 +01:00
control-notify.c Add client-detached notification in control mode, from Mohsin Kaleem. 2021-03-16 09:14:58 +00:00
control.c Look for libevent2 differently from libevent for platforms with both. 2021-01-17 17:21:51 +00:00
environ.c Allow fnmatch(3) wildcards in update-environment, GitHub issue 2397. 2020-10-07 08:23:55 +00:00
example_tmux.conf Minor cleanups, GitHub issue 2824. 2021-08-14 18:39:56 +01:00
file.c Fire check callback after cleaning up event so it does not get stuck, from 2021-06-10 09:22:47 +01:00
format-draw.c Add an "absolute-centre" alignment to use the centre of the total space 2021-03-11 06:41:04 +00:00
format.c Merge branch 'obsd-master' into master 2021-08-12 22:01:22 +01:00
grid-reader.c back-to-indentation fixes, from Anindya Mukherjee. 2021-06-10 09:20:42 +01:00
grid-view.c Move the code to set up a padding cell into grid.c. 2020-06-02 20:51:46 +00:00
grid.c malloc_trim is itself very poor and gets slower and slower as the heap becomes 2021-03-11 08:39:41 +00:00
input-keys.c Remove old shift function keys which interfere with xterm keys now. GitHub 2021-06-10 09:22:51 +01:00
input.c Some other missing palette NULL checks, from oss-fuzz. 2021-08-14 16:26:29 +00:00
job.c Merge branch 'obsd-master' into master 2021-08-14 01:34:54 +01:00
key-bindings.c Add pipe variants of the line copy commands. While here make the command 2021-08-11 20:35:46 +00:00
key-string.c Pass Ctrl keys through as is when given as hex, GitHub issue 2724. 2021-06-16 08:37:58 +00:00
layout-custom.c Add split-window -Z to start the pane zoomed, GitHub issue 2591. 2021-03-11 06:31:05 +00:00
layout-set.c Add split-window -Z to start the pane zoomed, GitHub issue 2591. 2021-03-11 06:31:05 +00:00
layout.c Add split-window -Z to start the pane zoomed, GitHub issue 2591. 2021-03-11 06:31:05 +00:00
log.c Merge branch 'obsd-master' into master 2021-03-31 10:01:16 +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 Add a menu when a popup is present (mouse only for now). 2021-08-13 18:54:54 +00:00
mode-tree.c Add different command historys for different types of prompts 2021-06-10 07:50:03 +00:00
names.c Do not use NULL active window; also do not leak window name. GitHub 2021-03-02 11:00:38 +00:00
notify.c Merge branch 'obsd-master' into master 2021-08-12 10:01:22 +01:00
options-table.c Merge branch 'obsd-master' into master 2021-08-13 00:01:19 +01:00
options.c Break the colour palette into a struct rather than just a single array 2021-08-11 20:49:55 +00:00
osdep-aix.c Update my email address. 2016-01-19 18:07:25 +00:00
osdep-cygwin.c Look for libevent2 differently from libevent for platforms with both. 2021-01-17 17:21:51 +00:00
osdep-darwin.c +compat.h 2021-01-17 17:52:10 +00:00
osdep-dragonfly.c Look for libevent2 differently from libevent for platforms with both. 2021-01-17 17:21:51 +00:00
osdep-freebsd.c Look for libevent2 differently from libevent for platforms with both. 2021-01-17 17:21:51 +00:00
osdep-haiku.c Look for libevent2 differently from libevent for platforms with both. 2021-01-17 17:21:51 +00:00
osdep-hpux.c Look for libevent2 differently from libevent for platforms with both. 2021-01-17 17:21:51 +00:00
osdep-linux.c Look for libevent2 differently from libevent for platforms with both. 2021-01-17 17:21:51 +00:00
osdep-netbsd.c Look for libevent2 differently from libevent for platforms with both. 2021-01-17 17:21:51 +00:00
osdep-openbsd.c Look for libevent2 differently from libevent for platforms with both. 2021-01-17 17:21:51 +00:00
osdep-sunos.c Looks like evports on SunOS are broken also, disable them. GitHub issue 2702. 2021-06-10 09:23:03 +01:00
osdep-unknown.c Look for libevent2 differently from libevent for platforms with both. 2021-01-17 17:21:51 +00:00
paste.c Use VIS_CSTYLE for paste buffers also. 2020-05-16 15:35:19 +00:00
popup.c Merge branch 'obsd-master' into master 2021-08-14 01:35:27 +01:00
proc.c Remove queue.h, from Simon Holesch. 2021-03-28 10:16:17 +01:00
regsub.c Some minor style nits. 2020-04-09 14:23:34 +00:00
resize.c Do not count client if no window. 2021-06-10 09:21:34 +01:00
screen-redraw.c Add a menu when a popup is present (mouse only for now). 2021-08-13 18:54:54 +00:00
screen-write.c Restore saved cursor position after a ZWJ rather than recalculating it. 2021-08-12 11:35:53 +00:00
screen.c Add an "always" value to the extended-keys option to always forward these keys 2021-06-10 09:21:09 +01:00
server-client.c Merge branch 'obsd-master' into master 2021-08-14 01:34:54 +01:00
server-fn.c Merge branch 'obsd-master' into master 2021-08-14 01:34:54 +01:00
server.c Fix warnings, from Jan Tache in GitHub issue 2692. 2021-06-10 09:22:39 +01:00
session.c Merge branch 'obsd-master' into master 2021-08-14 01:34:54 +01:00
spawn.c Merge branch 'obsd-master' into master 2021-03-11 08:01:29 +00:00
status.c Use COLOUR_DEFAULT not hardcoded 8. 2021-08-12 20:09:34 +00:00
style.c Make newline a style delimiter as well so they can cross multiple lines 2021-08-12 20:46:30 +00:00
tmux-protocol.h Break message type stuff out into its own header. 2021-08-13 07:37:58 +00:00
tmux.1 Merge branch 'obsd-master' into master 2021-08-14 01:34:54 +01:00
tmux.c Merge branch 'obsd-master' into master 2021-07-06 10:01:22 +01:00
tmux.h Merge branch 'obsd-master' into master 2021-08-14 01:35:27 +01:00
tty-acs.c Add an option to set the pane border lines style from a choice of single 2020-05-16 16:26:34 +00:00
tty-features.c Feature for the mouse since FreeBSD termcap does not have kmous. 2021-06-10 09:23:48 +01:00
tty-keys.c Break message type stuff out into its own header. 2021-08-13 07:37:58 +00:00
tty-term.c Fix warnings, from Jan Tache in GitHub issue 2692. 2021-06-10 09:22:39 +01:00
tty.c Add a menu when a popup is present (mouse only for now). 2021-08-13 18:54:54 +00:00
utf8.c More accurate vi(1) word navigation in copy mode and on the status line. 2021-06-10 07:56:47 +00:00
window-buffer.c Fix warnings, from Jan Tache in GitHub issue 2692. 2021-06-10 09:22:39 +01:00
window-client.c Permit shortcut keys in buffer, client, tree modes to be configured with 2021-04-12 06:50:25 +00:00
window-clock.c Do not hoke into struct window_pane from the tty code and instead set 2020-05-16 15:34:08 +00:00
window-copy.c Add pipe variants of the line copy commands. While here make the command 2021-08-11 20:35:46 +00:00
window-customize.c Add different command historys for different types of prompts 2021-06-10 07:50:03 +00:00
window-tree.c Add different command historys for different types of prompts 2021-06-10 07:50:03 +00:00
window.c Merge branch 'obsd-master' into master 2021-08-14 01:34:54 +01:00
xmalloc.c Add xrecallocarray. 2019-11-28 09:51:58 +00:00
xmalloc.h Merge branch 'obsd-master' 2019-11-28 12:18:41 +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/

To build tmux, a C compiler (for example gcc or clang), make, pkg-config and a
suitable yacc (yacc or bison) are needed.

* 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.