summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore19
-rw-r--r--.mailmap36
-rw-r--r--.travis.yml10
-rw-r--r--CHANGES1977
-rw-r--r--COPYING21
-rw-r--r--FAQ454
-rw-r--r--Makefile132
-rw-r--r--Makefile.am254
-rw-r--r--README66
-rw-r--r--SYNCING176
-rw-r--r--TODO138
-rw-r--r--arguments.c1
-rwxr-xr-xautogen.sh17
-rw-r--r--cfg.c1
-rw-r--r--client.c7
-rw-r--r--cmd-find.c1
-rw-r--r--cmd-join-pane.c1
-rw-r--r--cmd-paste-buffer.c1
-rw-r--r--cmd-pipe-pane.c1
-rw-r--r--cmd-save-buffer.c1
-rw-r--r--cmd-show-buffer.c112
-rw-r--r--cmd-show-messages.c1
-rw-r--r--cmd-split-window.c1
-rw-r--r--cmd.c1
-rw-r--r--compat.h293
-rw-r--r--compat/asprintf.c65
-rw-r--r--compat/b64_ntop.c182
-rw-r--r--compat/bitstring.h128
-rw-r--r--compat/cfmakeraw.c30
-rw-r--r--compat/closefrom.c109
-rw-r--r--compat/daemon.c65
-rw-r--r--compat/fgetln.c61
-rw-r--r--compat/forkpty-aix.c115
-rw-r--r--compat/forkpty-hpux.c87
-rw-r--r--compat/forkpty-sunos.c88
-rw-r--r--compat/fparseln.c221
-rw-r--r--compat/getopt.c114
-rw-r--r--compat/imsg-buffer.c307
-rw-r--r--compat/imsg.c336
-rw-r--r--compat/imsg.h114
-rw-r--r--compat/openat.c65
-rw-r--r--compat/queue.h568
-rw-r--r--compat/reallocarray.c40
-rw-r--r--compat/setenv.c47
-rw-r--r--compat/strcasestr.c60
-rw-r--r--compat/strlcat.c57
-rw-r--r--compat/strlcpy.c53
-rw-r--r--compat/strsep.c71
-rw-r--r--compat/strtonum.c67
-rw-r--r--compat/tree.h748
-rw-r--r--compat/unvis.c281
-rw-r--r--compat/vis.c242
-rw-r--r--compat/vis.h85
-rw-r--r--configure.ac551
-rw-r--r--example_tmux.conf66
-rw-r--r--format.c20
-rw-r--r--input-keys.c1
-rw-r--r--job.c1
-rw-r--r--log.c1
-rw-r--r--logo/LICENSE13
-rw-r--r--logo/favicon.icobin0 -> 6518 bytes
-rw-r--r--logo/tmux-logo-1-color.eps922
-rw-r--r--logo/tmux-logo-1-color.svg18
-rw-r--r--logo/tmux-logo-huge.pngbin0 -> 47121 bytes
-rw-r--r--logo/tmux-logo-large.pngbin0 -> 12190 bytes
-rw-r--r--logo/tmux-logo-medium.pngbin0 -> 5400 bytes
-rw-r--r--logo/tmux-logo-small.pngbin0 -> 2701 bytes
-rw-r--r--logo/tmux-logo.eps925
-rw-r--r--logo/tmux-logo.svg18
-rw-r--r--logo/tmux-logomark.eps829
-rw-r--r--logo/tmux-logomark.svg15
-rw-r--r--mdoc2man.awk370
-rw-r--r--notify.c1
-rw-r--r--options-table.c1
-rw-r--r--osdep-aix.c95
-rw-r--r--osdep-cygwin.c88
-rw-r--r--osdep-darwin.c80
-rw-r--r--osdep-dragonfly.c133
-rw-r--r--osdep-freebsd.c202
-rw-r--r--osdep-hpux.c (renamed from cmd-has-session.c)37
-rw-r--r--osdep-linux.c98
-rw-r--r--osdep-netbsd.c137
-rw-r--r--osdep-openbsd.c (renamed from procname.c)27
-rw-r--r--osdep-sunos.c101
-rw-r--r--osdep-unknown.c (renamed from cmd-send-prefix.c)48
-rw-r--r--paste.c1
-rw-r--r--presentations/tmux_asiabsdcon11.odtbin0 -> 35714 bytes
-rw-r--r--presentations/tmux_asiabsdcon11.pdfbin0 -> 112246 bytes
-rw-r--r--presentations/tmux_linuxtag_2011.odpbin0 -> 15220 bytes
-rw-r--r--proc.c5
-rw-r--r--server-client.c18
-rw-r--r--server-fn.c5
-rw-r--r--server.c4
-rw-r--r--session.c1
-rw-r--r--tmux.117
-rw-r--r--tmux.c15
-rw-r--r--tmux.h16
-rw-r--r--tools/256colors.pl63
-rw-r--r--tools/UTF-8-demo.txt212
-rw-r--r--tools/ansicode.txt779
-rw-r--r--tools/cmp-cvs.sh12
-rw-r--r--tty-term.c16
-rw-r--r--utf8.c1
-rw-r--r--window.c17
-rw-r--r--xmalloc.h4
105 files changed, 13763 insertions, 349 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..ba580eda
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,19 @@
+*.o
+*~
+*.diff
+*.patch
+*.core
+core
+tags
+.deps/
+compat/.dirstamp
+aclocal.m4
+autom4te.cache/
+config.log
+config.status
+etc/
+tmux
+Makefile
+Makefile.in
+configure
+tmux.1.*
diff --git a/.mailmap b/.mailmap
new file mode 100644
index 00000000..b4956775
--- /dev/null
+++ b/.mailmap
@@ -0,0 +1,36 @@
+Bob Beck <beck@openbsd.org> beck <beck>
+Claudio Jeker <claudio@openbsd.org> claudio <claudio>
+Igor Sobrado <sobrado@openbsd.org> sobrado <sobrado>
+Ingo Schwarze <schwarze@openbsd.org> schwarze <schwarze>
+Jacek Masiulaniec <jacekm@openbsd.org> jacekm <jacekm>
+Jason McIntyre <jmc@openbsd.org> jmc <jmc>
+Joel Sing <jsing@openbsd.org> jsing <jsing>
+Jonathan Gray <jsg@openbsd.org> jsg <jsg>
+Kenneth R Westerback <krw@openbsd.org> krw <krw>
+Marc Espie <espie@openbsd.org> espie <espie>
+Matthew Dempsky <matthew@openbsd.org> matthew <matthew>
+Matthias Kilian <kili@openbsd.org> kili <kili>
+Matthieu Herrb <matthieu@openbsd.org> matthieu <matthieu>
+Michael McConville <mmcc@openbsd.org> mmcc <mmcc>
+Miod Vallat <miod@openbsd.org> miod <miod>
+Nicholas Marriott <nicholas.marriott@gmail.com> Nicholas Marriott <nicm@openbsd.org>
+Nicholas Marriott <nicholas.marriott@gmail.com> nicm <nicm>
+Nicholas Marriott <nicholas.marriott@gmail.com> no_author <no_author@example.org>
+Okan Demirmen <okan@openbsd.org> okan <okan>
+Philip Guenther <guenther@openbsd.org> guenther <guenther>
+Pierre-Yves Ritschard <pyr@openbsd.org> pyr <pyr>
+Ray Lai <ray@openbsd.org> ray <ray>
+Ryan McBride <mcbride@openbsd.org> mcbride <mcbride>
+Sebastian Benoit <benno@openbsd.org> benno <benno>
+Stefan Sperling <stsp@openbsd.org> stsp <stsp>
+Stuart Henderson <sthen@openbsd.org> sthen <sthen>
+Ted Unangst <tedu@openbsd.org> tedu <tedu>
+Theo de Raadt <deraadt@openbsd.org> Theo Deraadt <deraadt@openbsd.org>
+Theo de Raadt <deraadt@openbsd.org> deraadt <deraadt>
+Thomas Adam <thomas@xteddy.org> Thomas <thomas@xteddy.org>
+Thomas Adam <thomas@xteddy.org> Thomas Adam <thomas.adam@smoothwall.net>
+Thomas Adam <thomas@xteddy.org> n6tadam <n6tadam@xteddy.org>
+Tim van der Molen <tim@openbsd.org> tim <tim>
+Tobias Stoeckmann <tobias@openbsd.org> tobias <tobias>
+Todd C Miller <millert@openbsd.org> millert <millert>
+William Yodlowsky <william@openbsd.org> william <william>
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 00000000..a1d7e427
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,10 @@
+language: c
+matrix:
+ include:
+ - compiler: gcc
+ - compiler: clang
+ env: CFLAGS="-g -O2"
+before_install:
+ - sudo apt-get update -qq
+ - sudo apt-get -y install debhelper autotools-dev dh-autoreconf file libncurses5-dev libevent-dev pkg-config libutempter-dev build-essential
+script: (CFLAGS= ./autogen.sh) && ./configure --enable-debug && make
diff --git a/CHANGES b/CHANGES
new file mode 100644
index 00000000..db7be25b
--- /dev/null
+++ b/CHANGES
@@ -0,0 +1,1977 @@
+CHANGES FROM 2.0 to 2.1 18 October 2015
+
+Incompatible Changes
+====================
+
+* Mouse-mode has been rewritten. There's now no longer options for:
+ - mouse-resize-pane
+ - mouse-select-pane
+ - mouse-select-window
+ - mode-mouse
+
+ Instead there is just one option: 'mouse' which turns on mouse support
+ entirely.
+* 'default-terminal' is now a session option. Furthermore, if this is set
+ to 'screen-*' then emulate what screen does. If italics are wanted, this
+ can be set to 'tmux' but this is still new and not necessarily supported
+ on all platforms with older ncurses installs.
+* The c0-* options for rate-limiting have been removed. Instead, a backoff
+ approach is used.
+
+Normal Changes
+==============
+
+* New formats:
+ - session_activity
+ - window_linked
+ - window_activity_format
+ - session_alerts
+ - session_last_attached
+ - client_pid
+ - pid
+* 'copy-selection', 'append-selection', 'start-named-buffer' now understand
+ an '-x' flag to prevent it exiting copying mode.
+* 'select-pane' now understands '-P' to set window/pane background colours.
+* 'renumber-windows' now understands windows which are unlinked.
+* 'bind' now understands multiple key tables. Allows for key-chaining.
+* 'select-layout' understands '-o' to undo the last layout change.
+* The environment is updated when switching sessions as well as attaching.
+* 'select-pane' now understands '-M' for marking a pane. This marked pane
+ can then be used with commands which understand src-pane specifiers
+ automatically.
+* If a session/window target is prefixed with '=' then only an exact match
+ is considered.
+* 'move-window' understands '-a'.
+* 'update-environment' understands '-E' when attach-session is used on an
+ already attached client.
+* 'show-environment' understands '-s' to output Bourne-compatible commands.
+* New option: 'history-file' to save/restore command prompt history.
+* Copy mode is exited if the history is cleared whilst in copy-mode.
+* 'copy-mode' learned '-e' to exit copy-mode when scrolling to end.
+
+CHANGES FROM 1.9a to 2.0 6 March 2015
+
+Incompatible Changes
+====================
+
+* The choose-list command has been removed.
+* 'terminal-overrides' is now a server option, not a session option.
+* 'message-limit' is now a server option, not a session option.
+* 'monitor-content' option has been removed.
+* 'pane_start_path' option has been removed.
+* The "info" mechanism which used to (for some commands) provide feedback
+ has been removed, and like other commands, they now produce nothing on
+ success.
+
+Normal Changes
+==============
+
+* tmux can now write an entry to utmp if the library 'utempter' is present
+ at compile time.
+* set-buffer learned append mode (-a), and a corresponding
+ 'append-selection' command has been added to copy-mode.
+* choose-mode now has the following commands which can be bound:
+ - start-of-list
+ - end-of-list
+ - top-line
+ - bottom-line
+
+* choose-buffer now understands UTF-8.
+* Pane navigation has changed:
+ - The old way of always using the top or left if the choice is ambiguous.
+ - The new way of remembering the last used pane is annoying if the
+ layout is balanced and the leftmost is obvious to the user (because
+ clearly if we go right from the top-left in a tiled set of four we want
+ to end up in top-right, even if we were last using the bottom-right).
+
+ So instead, use a combination of both: if there is only one possible
+ pane alongside the current pane, move to it, otherwise choose the most
+ recently used of the choice.
+* 'set-buffer' can now be told to give names to buffers.
+* The 'new-session', 'new-window', 'split-window', and 'respawn-pane' commands
+ now understand multiple arguments and handle quoting problems correctly.
+* 'capture-pane' understands '-S-' to mean the start of the pane, and '-E-' to
+ mean the end of the pane.
+* Support for function keys beyond F12 has changed. The following explains:
+ - F13-F24 are S-F1 to S-F12
+ - F25-F36 are C-F1 to C-F12
+ - F37-F48 are C-S-F1 to C-S-F12
+ - F49-F60 are M-F1 to M-F12
+ - F61-F63 are M-S-F1 to M-S-F3
+
+ Therefore, F13 becomes a binding of S-F1, etc.
+* Support using pane id as part of session or window specifier (so % means
+ session-of-%1 or window-of-%1) and window id as part of session
+ (so @1 means session-of-@1).
+* 'copy-pipe' command now understands formats via -F
+* 'if-shell' command now understands formats via -F
+* 'split-window' and 'join-window' understand -b to create the pane to the left
+ or above the target pane.
+
+CHANGES FROM 1.9 to 1.9a 22 February 2014
+
+NOTE: This is a bug-fix release to address some important bugs which just
+missed the 1.9 deadline, but were found afterwards.
+
+Normal Changes
+==============
+
+* Fix crash due to uninitialized lastwp member of layout_cell
+* Fix -fg/-bg/-style with 256 colour terminals.
+
+CHANGES FROM 1.8 to 1.9, 20 February 2014
+
+NOTE: This release has bumped the tmux protocol version. It is therefore
+advised that the prior tmux server is restarted when this version of tmux is
+installed, to avoid protocol mismatch errors for newer clients trying to
+talk to an older running tmux server.
+
+Incompatible Changes
+====================
+
+* 88 colour support has been removed.
+* 'default-path' has been removed. The new-window command accepts '-c' to
+ cater for this. The previous value of "." can be replaced with: 'neww -c
+ $PWD', the previous value of '' which meant current path of the pane can
+ be specified as: 'neww -c "#{pane_current_path}"'
+
+Deprecated Changes
+==================
+
+* The single format specifi