Go to file
Nicholas Marriott 2a32565e0c Restore code to handle wcwidth failure so that unknown codepoints still
do the most likely right thing. GitHub issue 3427, patch based on an
diff from Jesse Luehrs in GitHub issue 3003.
2023-01-08 22:15:38 +00:00
.github Add permissions for workflow, GitHub issue 3202. 2022-07-19 07:54:11 +01:00
compat Do not attempt to connect to the socket as a client if systemd is active, from 2022-10-18 15:58:06 +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 Add key regression tests from Aaron Jensen. 2022-11-11 08:47:55 +00:00
tools Typos from Bastian Venthur. 2022-06-15 08:01:50 +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 Typos from Bastian Venthur. 2022-06-15 08:01:50 +01:00
COPYING There is no examples directory anymore. 2019-03-26 15:10:05 +00:00
Makefile.am Merge branch 'obsd-master' 2022-06-30 16:37:18 +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 Merge branch 'obsd-master' 2023-01-06 09:02:00 +00: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' 2022-06-20 12:01:09 +01:00
client.c Merge branch 'obsd-master' 2023-01-06 09:02:00 +00:00
cmd-attach-session.c Show config errors on attach if they were not shown when the session 2022-07-06 08:40:52 +00: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 a -T flag to capture-pane to stop at the last used cell instead of 2022-09-28 07:55:29 +00:00
cmd-choose-tree.c When picking a buffer because one isn't specified by the user, ignore 2022-06-04 07:42:07 +00:00
cmd-command-prompt.c Spacing/style nits. 2022-05-30 12:55:25 +00: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 Add a -l flag to display-message to disable format expansion, from Aaron 2022-11-03 08:33:57 +00:00
cmd-display-panes.c Add support for OSC 8 hyperlinks (a VTE extension now supported by other 2022-06-30 09:55:53 +00:00
cmd-find-window.c Add send-keys -K to handle keys directly as if typed (so look up in key 2022-12-16 08:13:40 +00:00
cmd-find.c Merge branch 'obsd-master' 2022-11-01 12:01:10 +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' 2022-06-07 14:01:09 +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 If an application gives the first parameter to OSC 52, validate and pass 2022-06-09 09:12:55 +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 Show config errors on attach if they were not shown when the session 2022-07-06 08:40:52 +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 Fix a memory leak, from Japin Li in GitHub issue 3358. 2022-10-25 09:12:05 +00:00
cmd-paste-buffer.c Merge branch 'obsd-master' into master 2021-08-21 12:01:41 +01:00
cmd-pipe-pane.c Do not allow pipe-pane on dead panes, from Anindya Mukherjee, GitHub 2022-05-30 13:03:46 +00:00
cmd-queue.c Merge branch 'obsd-master' 2023-01-06 09:02:00 +00:00
cmd-refresh-client.c Spacing/style nits. 2022-05-30 12:55:25 +00: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 Do not attempt to use client in config file (it will be NULL), GitHub 2022-06-09 12:28:34 +01:00
cmd-save-buffer.c Merge branch 'obsd-master' 2022-12-07 12:01:09 +00:00
cmd-select-layout.c Better error reporting when applying custom layouts. 2022-05-30 12:52:02 +00: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 Allow send-keys without a client again, reported by Stefan Hagen. 2022-12-19 07:30:10 +00:00
cmd-server-access.c Add a missing space. 2022-05-31 16:13:43 +00:00
cmd-set-buffer.c If an application gives the first parameter to OSC 52, validate and pass 2022-06-09 09:12:55 +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 Merge branch 'obsd-master' 2022-06-07 14:01:09 +01:00
cmd-swap-pane.c Emit window-layout-changed on swap-pane, from George Nachman. 2022-05-30 12:54:09 +00: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 2022-05-30 12:48:57 +00:00
colour.c Query the client terminal for foreground and background colours and if 2023-01-03 11:43:24 +00:00
compat.h Do not attempt to connect to the socket as a client if systemd is active, from 2022-10-18 15:58:06 +01:00
configure.ac Check for $YACC, from Wei Shih in GitHub issue 3267. 2022-08-02 11:52:09 +01:00
control-notify.c Add paste-buffer-deleted notification and fix name of paste-buffer-changed. 2022-10-28 13:00:02 +00:00
control.c Merge branch 'obsd-master' 2022-08-24 10:01:13 +01:00
environ.c Don't stop at first match when updating environment. 2022-08-15 08:37:03 +00:00
example_tmux.conf Minor cleanups, GitHub issue 2824. 2021-08-14 18:39:56 +01:00
file.c Merge branch 'obsd-master' 2023-01-06 09:02:00 +00:00
format-draw.c Initialize copy_width before adjusting it, GitHub issue 3079. 2022-04-06 14:19:50 +01:00
format.c Merge branch 'obsd-master' 2022-11-04 10:01:10 +00:00
grid-reader.c back-to-indentation fixes, from Anindya Mukherjee. 2021-06-10 09:20:42 +01:00
grid-view.c Add a -T flag to capture-pane to stop at the last used cell instead of 2022-09-28 07:55:29 +00:00
grid.c Add a -T flag to capture-pane to stop at the last used cell instead of 2022-09-28 07:55:29 +00:00
hyperlinks.c Merge branch 'obsd-master' 2022-07-06 10:01:10 +01:00
input-keys.c Merge branch 'obsd-master' 2022-11-08 12:01:11 +00:00
input.c Query the client terminal for foreground and background colours and if 2023-01-03 11:43:24 +00:00
job.c Merge branch 'obsd-master' into master 2022-02-01 14:01:11 +00:00
key-bindings.c Add scroll-middle copy mode command to make cursor line in the middle, 2022-08-23 08:14:19 +00:00
key-string.c Add modified Tab key sequences, from Aaron Jensen, GitHub issue 3368. 2022-11-01 09:54:13 +00:00
layout-custom.c Better error reporting when applying custom layouts. 2022-05-30 12:52:02 +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 Spacing/style nits. 2022-05-30 12:55:25 +00: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 g and G to go to top and bottom of menu, GitHub issue 3286. 2022-08-04 12:06:09 +00: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 Merge branch 'obsd-master' 2022-10-28 16:01:10 +01:00
options-table.c Merge branch 'obsd-master' 2022-09-22 17:10:38 +01:00
options.c Check cursor options when a pane is created, not just when they are changed. 2022-06-17 07:28:05 +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 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 Merge branch 'obsd-master' 2022-10-28 16:01:10 +01:00
popup.c Use correct size for screen when popup is created without borders. 2022-04-06 14:19:50 +01:00
proc.c Add an ACL list for users connecting to the tmux socket. Users may be 2022-05-30 12:48:57 +00: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 support for OSC 8 hyperlinks (a VTE extension now supported by other 2022-06-30 09:55:53 +00:00
screen-write.c Make U+FE0F VARIATION SELECTOR-16 change the width from 1 to 2. GitHub 2022-12-16 08:19:58 +00:00
screen.c Merge branch 'obsd-master' 2022-06-30 16:37:18 +01:00
server-acl.c Spacing/style nits. 2022-05-30 12:55:25 +00:00
server-client.c Merge branch 'obsd-master' 2022-07-19 10:01:08 +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 Merge branch 'obsd-master' 2022-06-30 16:37:18 +01:00
session.c Merge branch 'obsd-master' 2022-10-17 14:01:10 +01:00
spawn.c Merge branch 'obsd-master' 2022-08-10 18:01:11 +01:00
status.c Use correct option name. 2022-09-10 17:01:33 +00:00
style.c Add support for OSC 8 hyperlinks (a VTE extension now supported by other 2022-06-30 09:55:53 +00:00
tmux-protocol.h If a pane is killed, cancel reading from the file. GitHub issue 3422. 2023-01-06 07:09:27 +00:00
tmux.1 Merge branch 'obsd-master' 2023-01-06 09:02:00 +00:00
tmux.c Merge branch 'obsd-master' 2022-11-11 02:01:10 +00:00
tmux.h Merge branch 'obsd-master' 2023-01-06 09:02:00 +00:00
tty-acs.c Spacing fixes from Alexis Hildebrandt. 2021-10-18 09:15:56 +00:00
tty-features.c Merge branch 'obsd-master' 2022-11-11 10:01:09 +00:00
tty-keys.c Query the client terminal for foreground and background colours and if 2023-01-03 11:43:24 +00:00
tty-term.c Merge branch 'obsd-master' 2022-11-11 10:01:09 +00:00
tty.c Query the client terminal for foreground and background colours and if 2023-01-03 11:43:24 +00:00
utf8.c Restore code to handle wcwidth failure so that unknown codepoints still 2023-01-08 22:15:38 +00:00
window-buffer.c Merge branch 'obsd-master' 2022-11-03 10:01:11 +00:00
window-client.c Spacing/style nits. 2022-05-30 12:55: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 scroll-top and scroll-bottom commands to scroll so cursor is at top 2022-09-28 07:59:50 +00: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 Merge branch 'obsd-master' 2022-07-04 12:01:10 +01:00
window.c Merge branch 'obsd-master' 2023-01-06 09:02:00 +00: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.