Go to file
Nicholas Marriott c6b51cea92 If a mouse position was above the maximum supported by the normal mouse
protocol (223), tmux was allowing it to wrap around. However, since tmux was
not correctly handling this on input, other programs also do not handle it
correctly, and the alternative SGR mouse mode is now widespread, this seems
unnecessary, so remove this feature. Also define some constants to make it
clearer what the numbers mean. Mostly from Leonid S Usov in GitHub issue 3165.
2022-04-27 11:34:08 +01:00
.github OS X -> macOS, from J Lewis Muir. 2021-11-11 09:18:04 +00:00
compat On platforms with no way to get peer UID, use getuid(), also fix some failure 2022-04-06 16:47:59 +01:00
fuzz Needs fcntl.h. 2021-08-16 13:51:55 +01:00
logo Icons, from someone on GitHub in issue 2870. 2021-09-10 15:00:58 +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 Regress conf from https://raw.githubusercontent.com/lacygoill/config/master/.config/tmux/tmux.conf. 2021-08-30 08:24:43 +01:00
tools Spelling, from someone in GitHub issue 2958. 2021-10-29 08:37:06 +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 Add to CHANGES. 2022-04-06 14:24:17 +01:00
COPYING There is no examples directory anymore. 2019-03-26 15:10:05 +00:00
Makefile.am Add an ACL list for users connecting to the tmux socket. Users may be forbidden 2022-04-06 14:28:50 +01:00
README OS X -> macOS, from J Lewis Muir. 2021-11-11 09:18:04 +00:00
README.ja OS X -> macOS, from J Lewis Muir. 2021-11-11 09:18:04 +00: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 Allow optional arguments. 2022-04-06 14:19:50 +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 Add a way for lines added to copy mode to be passed through the parser to 2022-04-18 11:47:14 +01:00
client.c Add an ACL list for users connecting to the tmux socket. Users may be forbidden 2022-04-06 14:28:50 +01:00
cmd-attach-session.c Add an ACL list for users connecting to the tmux socket. Users may be forbidden 2022-04-06 14:28:50 +01:00
cmd-bind-key.c Replace %% in command lists (by copying them) for template arguments , 2021-08-27 17:25:55 +00:00
cmd-break-pane.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-capture-pane.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-choose-tree.c Replace %% in command lists (by copying them) for template arguments , 2021-08-27 17:25:55 +00:00
cmd-command-prompt.c Some style nits. 2022-04-06 16:39:46 +01:00
cmd-confirm-before.c Expand command as a format, GitHub issue 2920. 2021-10-28 18:39:15 +00:00
cmd-copy-mode.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-detach-client.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-display-menu.c Merge branch 'obsd-master' into master 2021-10-25 12:01:11 +01:00
cmd-display-message.c Handle splitw -I correctly when used from an attached client, GitHub 2021-10-07 07:52:13 +00:00
cmd-display-panes.c Validate command argument types (string or command list) and give more 2021-08-25 08:51:55 +00:00
cmd-find-window.c Preserve argument type in command and convert to string on demand. 2021-08-21 20:46:43 +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 Add -e flag to set environment for popup, from Alexis Hildebrandt in 2021-10-11 10:55:30 +00:00
cmd-join-pane.c Merge branch 'obsd-master' into master 2021-08-21 12:01:41 +01:00
cmd-kill-pane.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-kill-server.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-kill-session.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-kill-window.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-list-buffers.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-list-clients.c Add formats for client and server UID and user (for multiuser setups). 2022-04-06 14:19:50 +01:00
cmd-list-keys.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-list-panes.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-list-sessions.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-list-windows.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-load-buffer.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-lock-server.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-move-window.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-new-session.c Replace %% in command lists (by copying them) for template arguments , 2021-08-27 17:25:55 +00:00
cmd-new-window.c Replace %% in command lists (by copying them) for template arguments , 2021-08-27 17:25:55 +00:00
cmd-parse.y Disable aliases inside aliases for the moment. 2021-09-10 08:52:46 +00:00
cmd-paste-buffer.c Merge branch 'obsd-master' into master 2021-08-21 12:01:41 +01:00
cmd-pipe-pane.c Merge branch 'obsd-master' into master 2021-10-25 00:01:11 +01:00
cmd-queue.c Add a way for lines added to copy mode to be passed through the parser to 2022-04-18 11:47:14 +01:00
cmd-refresh-client.c Some style nits. 2022-04-06 16:39:46 +01:00
cmd-rename-session.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-rename-window.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-resize-pane.c Adjust size given to resize-pane for pane status line, GitHub issue 2022-04-06 14:19:49 +01:00
cmd-resize-window.c Allow control mode clients to set a hard limit on the window width and 2021-08-27 17:15:57 +00:00
cmd-respawn-pane.c Replace %% in command lists (by copying them) for template arguments , 2021-08-27 17:25:55 +00:00
cmd-respawn-window.c Replace %% in command lists (by copying them) for template arguments , 2021-08-27 17:25:55 +00:00
cmd-rotate-window.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-run-shell.c Add a way for lines added to copy mode to be passed through the parser to 2022-04-18 11:47:14 +01:00
cmd-save-buffer.c Merge branch 'obsd-master' into master 2021-08-21 12:01:41 +01:00
cmd-select-layout.c Better error reporting when applying custom layouts. 2022-04-06 14:41:44 +01:00
cmd-select-pane.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-select-window.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-send-keys.c Same as -N, don't send if 0 arguments and -R. 2021-10-19 12:51:43 +00:00
cmd-server-access.c Add an ACL list for users connecting to the tmux socket. Users may be forbidden 2022-04-06 14:28:50 +01:00
cmd-set-buffer.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-set-environment.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-set-option.c Validate command argument types (string or command list) and give more 2021-08-25 08:51:55 +00:00
cmd-show-environment.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-show-messages.c Merge branch 'obsd-master' into master 2021-08-21 12:01:41 +01:00
cmd-show-options.c Do not return error with -q, GitHub issue 3065. 2022-04-06 14:19:49 +01:00
cmd-show-prompt-history.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-source-file.c Merge branch 'obsd-master' into master 2021-08-23 16:06:46 +01:00
cmd-split-window.c With -f use percentages of window size not pane size, GitHub issue 2866. 2022-04-06 14:19:51 +01:00
cmd-swap-pane.c Emit window-layout-changed on swap-pane, from George Nachman. 2022-04-06 14:43:12 +01:00
cmd-swap-window.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-switch-client.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-unbind-key.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd-wait-for.c Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
cmd.c Add an ACL list for users connecting to the tmux socket. Users may be forbidden 2022-04-06 14:28:50 +01:00
colour.c Add unit (milliseconds) to escape-time, show unset colours as "none" 2022-04-06 14:19:51 +01:00
compat.h Add support for systemd socket activation (where systemd creates the Unix 2022-04-06 14:19:52 +01:00
configure.ac Some style nits. 2022-04-06 16:39:46 +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 Merge branch 'obsd-master' into master 2021-08-25 10:01:10 +01: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 Merge branch 'obsd-master' into master 2021-08-22 16:01:19 +01:00
format-draw.c Initialize copy_width before adjusting it, GitHub issue 3079. 2022-04-06 14:19:50 +01:00
format.c Some style nits. 2022-04-06 16:39:46 +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 Capture up to used size not available size for each line. 2022-04-06 14:19:52 +01:00
input-keys.c If a mouse position was above the maximum supported by the normal mouse 2022-04-27 11:34:08 +01:00
input.c Add a way for lines added to copy mode to be passed through the parser to 2022-04-18 11:47:14 +01:00
job.c Merge branch 'obsd-master' into master 2022-02-01 14:01:11 +00:00
key-bindings.c Add a key in copy mode to toggle position indicator. 2022-02-03 07:26:43 +00:00
key-string.c Support more mouse buttons when the terminal sends them, GitHub issue 2022-04-06 14:19:49 +01:00
layout-custom.c Better error reporting when applying custom layouts. 2022-04-06 14:41:44 +01: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 Some style nits. 2022-04-06 16:39:46 +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 Support more mouse buttons when the terminal sends them, GitHub issue 2022-04-06 14:19:49 +01:00
mode-tree.c A menu must be shown on a client, so always give the client when adding 2022-02-01 18:12:20 +00:00
names.c Remove stray spaces after function names. 2021-08-20 17:50:42 +00:00
notify.c Some style nits. 2022-04-06 16:39:46 +01:00
options-table.c Add unit (milliseconds) to escape-time, show unset colours as "none" 2022-04-06 14:19:51 +01:00
options.c Add an option to set the character used for unused areas of the 2022-04-06 14:19:51 +01: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 Remove unnecessary declarations. 2022-04-06 14:19:50 +01:00
osdep-openbsd.c Use PATH_MAX instead of MAXPATHLEN. 2022-04-06 14:19:50 +01: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 Use correct size for screen when popup is created without borders. 2022-04-06 14:19:50 +01:00
proc.c Some style nits. 2022-04-06 16:39:46 +01:00
regsub.c Some minor style nits. 2020-04-09 14:23:34 +00:00
resize.c Add a window-resized hook which is fired when the window is actually 2022-04-06 14:19:49 +01:00
screen-redraw.c Add an option to set the character used for unused areas of the 2022-04-06 14:19:51 +01:00
screen-write.c Check scroll-on-clear for ED also. 2022-04-06 14:19:51 +01:00
screen.c Some style nits. 2022-04-06 16:39:46 +01:00
server-acl.c On platforms with no way to get peer UID, use getuid(), also fix some failure 2022-04-06 16:47:59 +01:00
server-client.c Some style nits. 2022-04-06 16:39:46 +01:00
server-fn.c Add remain-on-exit-format to set text shown when pane is dead. 2022-04-06 14:19:51 +01:00
server.c Add an ACL list for users connecting to the tmux socket. Users may be forbidden 2022-04-06 14:28:50 +01:00
session.c Do not attempt to update focus (and crash) when there is no previous window. 2022-04-06 14:19:50 +01:00
spawn.c Merge branch 'obsd-master' into master 2021-08-23 16:06:46 +01:00
status.c Pass client when adding menu item, GitHub issue 3103. 2022-04-06 14:19:50 +01: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 Add an ACL list for users connecting to the tmux socket. Users may be forbidden 2022-04-06 14:28:50 +01:00
tmux.c Some style nits. 2022-04-06 16:39:46 +01:00
tmux.h If a mouse position was above the maximum supported by the normal mouse 2022-04-27 11:34:08 +01:00
tty-acs.c Spacing fixes from Alexis Hildebrandt. 2021-10-18 09:15:56 +00:00
tty-features.c iTerm2 has OSC 7, from Gregory Anders. 2022-04-15 12:45:43 +01:00
tty-keys.c If a mouse position was above the maximum supported by the normal mouse 2022-04-27 11:34:08 +01:00
tty-term.c Add a capability for OSC 7 and use it similarly to how the title is set 2022-04-06 14:19:51 +01:00
tty.c Add a capability for OSC 7 and use it similarly to how the title is set 2022-04-06 14:19:51 +01:00
utf8.c Remove fallback for wcwidth failure, GitHub issue 3003. 2021-12-06 10:17:34 +00:00
window-buffer.c Some style nits. 2022-04-06 16:39:46 +01:00
window-client.c Some style nits. 2022-04-06 16:39:46 +01: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 a way for lines added to copy mode to be passed through the parser to 2022-04-18 11:47:14 +01:00
window-customize.c Add unit (milliseconds) to escape-time, show unset colours as "none" 2022-04-06 14:19:51 +01:00
window-tree.c Some style nits. 2022-04-06 16:39:46 +01:00
window.c Some style nits. 2022-04-06 16:39:46 +01:00
xmalloc.c Add xrecallocarray. 2019-11-28 09:51:58 +00:00
xmalloc.h Merge branch 'obsd-master' into master 2021-08-25 10:01:10 +01: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, macOS 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.

Other documentation is available in the wiki:

	https://github.com/tmux/tmux/wiki

Also see the tmux FAQ at:

	https://github.com/tmux/tmux/wiki/FAQ

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.