Go to file
Nicholas Marriott 8110c7a25f Do not hoke into struct window_pane from the tty code and instead set
everything up in tty_ctx. Provide a way to initialize the tty_ctx from a
callback and use it to let popups draw directly through input_parse in the same
way as panes do, rather than forcing a full redraw on every change.
2020-05-01 17:01:36 +01:00
.github Lock much more quickly. 2020-03-11 14:41:25 +00:00
compat Missing headers from compat/asprintf.c, from cyyever at outlook dot com. 2019-09-08 21:29:22 +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 Update capture-pane test, from Johannes Altmanninger. 2020-03-26 10:16:05 +00: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 13:04:41 +01:00
.mailmap Add to .mailmap. 2016-07-19 10:42:44 +01:00
.travis.yml Don't even need this? 2019-05-29 14:32:49 +01:00
CHANGES Merge tag '3.1b' 2020-04-30 15:21:47 +01:00
COPYING There is no examples directory anymore. 2019-03-26 15:10:05 +00:00
Makefile.am Do not want -O0 by default. 2020-04-29 15:21:15 +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' 2020-04-22 12:01:38 +01:00
attributes.c Add an attribute for ACS. 2020-04-23 07:15:17 +01:00
autogen.sh Bump automake and autoconf versions. 2017-03-22 08:45:53 +00:00
cfg.c Build list of paths and weed out duplicates before loading configs. 2020-04-23 17:56:45 +01:00
client.c Do not close stdout file descriptor in control mode since it will be needed for 2020-04-27 09:36:30 +01:00
cmd-attach-session.c Move cmdq_state into cmd-queue.c. 2020-04-13 14:46:04 +00:00
cmd-bind-key.c Make struct cmd local to cmd.c and move it out of tmux.h. 2020-04-13 08:26:27 +00:00
cmd-break-pane.c Improve join-pane, move-pane and break-pane: 2020-04-22 21:15:33 +00:00
cmd-capture-pane.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-choose-tree.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-command-prompt.c Add -W and -T flags to command-prompt to only complete a window and a target. 2020-04-30 12:02:21 +01:00
cmd-confirm-before.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-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 Add 'e' key in buffer mode to open the buffer in an editor. 2020-05-01 09:02:44 +01:00
cmd-display-message.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-panes.c Do not hoke into struct window_pane from the tty code and instead set 2020-05-01 17:01:36 +01:00
cmd-find-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-find.c Merge branch 'obsd-master' 2020-04-13 18:01:43 +01:00
cmd-if-shell.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-join-pane.c Merge branch 'obsd-master' 2020-04-23 02:01:33 +01:00
cmd-kill-pane.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-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 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-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 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-keys.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-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 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-load-buffer.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-lock-server.c Missed a few warnings in previous. 2020-04-13 20:54:15 +00:00
cmd-move-window.c Improve join-pane, move-pane and break-pane: 2020-04-22 21:15:33 +00:00
cmd-new-session.c Add -e for new-session. 2020-05-01 12:01:58 +01:00
cmd-new-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-parse.y Add helpers for the simple case of parse string and add to command queue. 2020-04-13 18:59:41 +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-04-14 00:01:41 +01:00
cmd-queue.c Fix a couple of memory leaks, one when creating a new pane and one when 2020-04-23 05:48:42 +00:00
cmd-refresh-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-rename-session.c Instead of forbidding invalid session names, sanitize them. 2020-04-24 16:40:10 +01:00
cmd-rename-window.c Need to redraw borders now when some things change. Also change default so that 2020-04-29 08:55:21 +01:00
cmd-resize-pane.c Need to redraw borders now when some things change. Also change default so that 2020-04-29 08:55:21 +01: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 Need to redraw borders now when some things change. Also change default so that 2020-04-29 08:55:21 +01: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 Move cmdq_state into cmd-queue.c. 2020-04-13 14:46:04 +00:00
cmd-run-shell.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-save-buffer.c Merge branch 'obsd-master' 2020-04-14 00:01:41 +01: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 Need to redraw borders now when some things change. Also change default so that 2020-04-29 08:55:21 +01:00
cmd-select-window.c Move cmdq_state into cmd-queue.c. 2020-04-13 14:46:04 +00:00
cmd-send-keys.c Send keys when they are complete not before (!= vs ==). 2020-04-14 13:22:05 +00:00
cmd-set-buffer.c Make struct cmd local to cmd.c and move it out of tmux.h. 2020-04-13 08:26:27 +00:00
cmd-set-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-set-option.c Drop having a separate type for style options and make them all strings, which 2020-04-28 13:50:07 +01: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 Merge branch 'obsd-master' 2020-04-20 17:42:29 +01:00
cmd-show-options.c Merge branch 'obsd-master' 2020-04-14 00:01:41 +01:00
cmd-source-file.c Merge branch 'obsd-master' 2020-04-13 14:01:45 +01:00
cmd-split-window.c Merge branch 'obsd-master' 2020-04-14 00:01:41 +01:00
cmd-swap-pane.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-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 Make client -c and -t handling common in cmd-queue.c and try to be 2020-04-13 20:51:57 +00:00
cmd-unbind-key.c Make struct cmd local to cmd.c and move it out of tmux.h. 2020-04-13 08:26:27 +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 Merge branch 'obsd-master' 2020-04-13 18:01:43 +01:00
colour.c Add support for underscore colours with Setulc capability, mostly from 2019-06-27 15:17:41 +00:00
compat.h Solaris at least does not have _PATH_VI. 2020-05-01 09:11:56 +01:00
configure.ac Do not remove the automatic-rename option from the global set, only from 2020-04-30 15:20:08 +01:00
control-notify.c Terminate the output buffer for control mode output - it is now used as 2020-03-17 16:14:51 +00:00
control.c Add helpers for the simple case of parse string and add to command queue. 2020-04-13 18:59:41 +00:00
environ.c Add a way to mark environment variables as "hidden" so they can be used 2020-03-31 17:14:40 +00:00
example_tmux.conf -attr -> -style. 2019-05-06 21:57:32 +01:00
file.c Remove imsg.h. 2019-12-16 20:01:26 +00:00
format-draw.c Do not hoke into struct window_pane from the tty code and instead set 2020-05-01 17:01:36 +01:00
format.c Call format_defaults_window for panes as well. 2020-04-28 10:53:35 +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 Use a grid cell not a style for the pane style. 2020-04-27 15:15:12 +01:00
input-keys.c Merge branch 'obsd-master' 2020-04-07 16:01:29 +01:00
input.c Do not hoke into struct window_pane from the tty code and instead set 2020-05-01 17:01:36 +01:00
job.c Add 'e' key in buffer mode to open the buffer in an editor. 2020-05-01 09:02:44 +01:00
key-bindings.c Add -W and -T flags to command-prompt to only complete a window and a target. 2020-04-30 12:02:21 +01:00
key-string.c Some unnecessary assignments and unused variables. 2020-04-09 13:52:31 +00:00
layout-custom.c Make a best effort to set xpixel and ypixel for each pane and add 2019-11-28 09:45:15 +00:00
layout-set.c Change so main-pane-width and height can be given as a percentage. 2020-04-22 06:57:13 +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' 2019-09-25 00:01:25 +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 Do not hoke into struct window_pane from the tty code and instead set 2020-05-01 17:01:36 +01:00
mode-tree.c Do not hoke into struct window_pane from the tty code and instead set 2020-05-01 17:01:36 +01:00
names.c Need to redraw borders now when some things change. Also change default so that 2020-04-29 08:55:21 +01:00
notify.c Merge branch 'obsd-master' 2020-04-14 08:01:33 +01:00
options-table.c Add 'e' key in buffer mode to open the buffer in an editor. 2020-05-01 09:02:44 +01:00
options.c Start with style initialized to default. 2020-04-28 17:27:07 +01: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 Nope, OS X kqueue is still broken... 2020-04-22 12:18:11 +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 Add 'e' key in buffer mode to open the buffer in an editor. 2020-05-01 09:02:44 +01:00
popup.c Do not hoke into struct window_pane from the tty code and instead set 2020-05-01 17:01:36 +01:00
proc.c Merge branch 'obsd-master' 2020-01-28 11:17:08 +00:00
regsub.c Some minor style nits. 2020-04-09 14:23:34 +00:00
resize.c If ALL clients are readonly, allow them to affect the size, suggested by Thomas Sattler. 2020-01-28 13:23:24 +00:00
screen-redraw.c Do not hoke into struct window_pane from the tty code and instead set 2020-05-01 17:01:36 +01:00
screen-write.c Do not hoke into struct window_pane from the tty code and instead set 2020-05-01 17:01:36 +01:00
screen.c Merge branch 'obsd-master' 2020-04-22 12:01:38 +01:00
server-client.c Improve command prompt completion: 2020-04-29 13:56:10 +01:00
server-fn.c Do not hoke into struct window_pane from the tty code and instead set 2020-05-01 17:01:36 +01:00
server.c Add 'e' key in buffer mode to open the buffer in an editor. 2020-05-01 09:02:44 +01:00
session.c Instead of forbidding invalid session names, sanitize them. 2020-04-24 16:40:10 +01:00
spawn.c Merge branch 'obsd-master' 2020-04-23 10:01:26 +01:00
status.c Do not hoke into struct window_pane from the tty code and instead set 2020-05-01 17:01:36 +01:00
style.c Drop having a separate type for style options and make them all strings, which 2020-04-28 13:50:07 +01:00
tmux.1 Add -e for new-session. 2020-05-01 12:01:58 +01:00
tmux.c Add 'e' key in buffer mode to open the buffer in an editor. 2020-05-01 09:02:44 +01:00
tmux.h Do not hoke into struct window_pane from the tty code and instead set 2020-05-01 17:01:36 +01:00
tty-acs.c Tidy up the terminal detection and feature code and add named sets of 2020-04-20 13:25:36 +00:00
tty-features.c CUD is not a requirement and tweak some comments. 2020-04-24 16:47:38 +01:00
tty-keys.c Move terminal features into a single file. 2020-04-24 06:40:51 +01:00
tty-term.c CUD is not a requirement and tweak some comments. 2020-04-24 16:47:38 +01:00
tty.c Do not hoke into struct window_pane from the tty code and instead set 2020-05-01 17:01:36 +01:00
utf8.c Merge branch 'obsd-master' 2019-11-25 16:01:27 +00:00
window-buffer.c Add 'e' key in buffer mode to open the buffer in an editor. 2020-05-01 09:02:44 +01:00
window-client.c Tweak the default choose modes formats: 2020-04-23 06:30:15 +01:00
window-clock.c Do not hoke into struct window_pane from the tty code and instead set 2020-05-01 17:01:36 +01:00
window-copy.c Do not hoke into struct window_pane from the tty code and instead set 2020-05-01 17:01:36 +01:00
window-tree.c Tweak the default choose modes formats: 2020-04-23 06:30:15 +01:00
window.c Do not hoke into struct window_pane from the tty code and instead set 2020-05-01 17:01:36 +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
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.