diff options
-rw-r--r-- | .gitignore | 19 | ||||
-rw-r--r-- | .mailmap | 36 | ||||
-rw-r--r-- | .travis.yml | 10 | ||||
-rw-r--r-- | CHANGES | 2043 | ||||
-rw-r--r-- | COPYING | 21 | ||||
-rw-r--r-- | FAQ | 454 | ||||
-rw-r--r-- | Makefile | 132 | ||||
-rw-r--r-- | Makefile.am | 254 | ||||
-rw-r--r-- | README | 69 | ||||
-rw-r--r-- | SYNCING | 176 | ||||
-rw-r--r-- | TODO | 137 | ||||
-rw-r--r-- | arguments.c | 1 | ||||
-rwxr-xr-x | autogen.sh | 17 | ||||
-rw-r--r-- | cfg.c | 1 | ||||
-rw-r--r-- | client.c | 7 | ||||
-rw-r--r-- | cmd-find.c | 1 | ||||
-rw-r--r-- | cmd-join-pane.c | 1 | ||||
-rw-r--r-- | cmd-paste-buffer.c | 1 | ||||
-rw-r--r-- | cmd-pipe-pane.c | 1 | ||||
-rw-r--r-- | cmd-save-buffer.c | 1 | ||||
-rw-r--r-- | cmd-show-buffer.c | 112 | ||||
-rw-r--r-- | cmd-show-messages.c | 1 | ||||
-rw-r--r-- | cmd-split-window.c | 1 | ||||
-rw-r--r-- | cmd.c | 1 | ||||
-rw-r--r-- | compat.h | 293 | ||||
-rw-r--r-- | compat/asprintf.c | 65 | ||||
-rw-r--r-- | compat/b64_ntop.c | 182 | ||||
-rw-r--r-- | compat/bitstring.h | 128 | ||||
-rw-r--r-- | compat/cfmakeraw.c | 30 | ||||
-rw-r--r-- | compat/closefrom.c | 109 | ||||
-rw-r--r-- | compat/daemon.c | 65 | ||||
-rw-r--r-- | compat/fgetln.c | 61 | ||||
-rw-r--r-- | compat/forkpty-aix.c | 115 | ||||
-rw-r--r-- | compat/forkpty-hpux.c | 87 | ||||
-rw-r--r-- | compat/forkpty-sunos.c | 88 | ||||
-rw-r--r-- | compat/fparseln.c | 221 | ||||
-rw-r--r-- | compat/getopt.c | 114 | ||||
-rw-r--r-- | compat/imsg-buffer.c | 307 | ||||
-rw-r--r-- | compat/imsg.c | 336 | ||||
-rw-r--r-- | compat/imsg.h | 114 | ||||
-rw-r--r-- | compat/openat.c | 65 | ||||
-rw-r--r-- | compat/queue.h | 568 | ||||
-rw-r--r-- | compat/reallocarray.c | 40 | ||||
-rw-r--r-- | compat/setenv.c | 47 | ||||
-rw-r--r-- | compat/strcasestr.c | 60 | ||||
-rw-r--r-- | compat/strlcat.c | 57 | ||||
-rw-r--r-- | compat/strlcpy.c | 53 | ||||
-rw-r--r-- | compat/strsep.c | 71 | ||||
-rw-r--r-- | compat/strtonum.c | 67 | ||||
-rw-r--r-- | compat/tree.h | 748 | ||||
-rw-r--r-- | compat/unvis.c | 281 | ||||
-rw-r--r-- | compat/vis.c | 242 | ||||
-rw-r--r-- | compat/vis.h | 85 | ||||
-rw-r--r-- | configure.ac | 566 | ||||
-rw-r--r-- | example_tmux.conf | 66 | ||||
-rw-r--r-- | format.c | 20 | ||||
-rw-r--r-- | input-keys.c | 1 | ||||
-rw-r--r-- | job.c | 1 | ||||
-rw-r--r-- | log.c | 1 | ||||
-rw-r--r-- | logo/LICENSE | 13 | ||||
-rw-r--r-- | logo/favicon.ico | bin | 0 -> 6518 bytes | |||
-rw-r--r-- | logo/tmux-logo-1-color.eps | 922 | ||||
-rw-r--r-- | logo/tmux-logo-1-color.svg | 18 | ||||
-rw-r--r-- | logo/tmux-logo-huge.png | bin | 0 -> 47121 bytes | |||
-rw-r--r-- | logo/tmux-logo-large.png | bin | 0 -> 12190 bytes | |||
-rw-r--r-- | logo/tmux-logo-medium.png | bin | 0 -> 5400 bytes | |||
-rw-r--r-- | logo/tmux-logo-small.png | bin | 0 -> 2701 bytes | |||
-rw-r--r-- | logo/tmux-logo.eps | 925 | ||||
-rw-r--r-- | logo/tmux-logo.svg | 18 | ||||
-rw-r--r-- | logo/tmux-logomark.eps | 829 | ||||
-rw-r--r-- | logo/tmux-logomark.svg | 15 | ||||
-rw-r--r-- | mdoc2man.awk | 370 | ||||
-rw-r--r-- | notify.c | 1 | ||||
-rw-r--r-- | options-table.c | 1 | ||||
-rw-r--r-- | osdep-aix.c | 95 | ||||
-rw-r--r-- | osdep-cygwin.c | 88 | ||||
-rw-r--r-- | osdep-darwin.c | 80 | ||||
-rw-r--r-- | osdep-dragonfly.c | 133 | ||||
-rw-r--r-- | osdep-freebsd.c | 202 | ||||
-rw-r--r-- | osdep-hpux.c (renamed from cmd-has-session.c) | 37 | ||||
-rw-r--r-- | osdep-linux.c | 98 | ||||
-rw-r--r-- | osdep-netbsd.c | 137 | ||||
-rw-r--r-- | osdep-openbsd.c (renamed from procname.c) | 27 | ||||
-rw-r--r-- | osdep-sunos.c | 101 | ||||
-rw-r--r-- | osdep-unknown.c (renamed from cmd-send-prefix.c) | 48 | ||||
-rw-r--r-- | paste.c | 1 | ||||
-rw-r--r-- | presentations/tmux_asiabsdcon11.odt | bin | 0 -> 35714 bytes | |||
-rw-r--r-- | presentations/tmux_asiabsdcon11.pdf | bin | 0 -> 112246 bytes | |||
-rw-r--r-- | presentations/tmux_linuxtag_2011.odp | bin | 0 -> 15220 bytes | |||
-rw-r--r-- | proc.c | 5 | ||||
-rw-r--r-- | server-client.c | 18 | ||||
-rw-r--r-- | server-fn.c | 5 | ||||
-rw-r--r-- | server.c | 4 | ||||
-rw-r--r-- | session.c | 1 | ||||
-rw-r--r-- | tmux.1 | 17 | ||||
-rw-r--r-- | tmux.c | 14 | ||||
-rw-r--r-- | tmux.h | 16 | ||||
-rw-r--r-- | tools/256colors.pl | 63 | ||||
-rw-r--r-- | tools/UTF-8-demo.txt | 212 | ||||
-rw-r--r-- | tools/ansicode.txt | 779 | ||||
-rw-r--r-- | tools/cmp-cvs.sh | 12 | ||||
-rw-r--r-- | tty-term.c | 16 | ||||
-rw-r--r-- | utf8.c | 15 | ||||
-rw-r--r-- | window.c | 17 | ||||
-rw-r--r-- | xmalloc.h | 4 |
105 files changed, 13860 insertions, 348 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..947e3770 --- /dev/null +++ b/CHANGES @@ -0,0 +1,2043 @@ +CHANGES FROM 2.1 to 2.2 10 April 2016 + +Incompatible Changes +==================== + +* The format strings which referenced time have been removed. Instead: + + #{t:window_activity} + +can be used. + +* Support for TMPDIR has been removed. Use TMUX_TMPDIR instead. +* UTF8 detection how happens automatically if the client supports it, hence + the: + + mouse-utf8 + utf8 + + options has been removed. +* The: + + mouse_utf8_flag + + format string has been removed. +* The -I option to show-messages has been removed. See: + + #{t:start_time} + + format option instead. + +Normal Changes +============== + +* Panes are unzoomed with selectp -LRUD +* New formats added: + + #{scroll_position} + #{socket_path} + #{=10:...} -- limit to N characters (from the start) + #{=-10:...} -- limit to N characters (from the end) + #{t:...} -- used to format time-based formats + #{b:...} -- used to ascertain basename from string + #{d:...} -- used to ascertain dirname from string + #{s:...} -- used to perform substitutions on a string + +* Job output is run via the format system, so formats work again +* If display-time is set to 0, then the indicators wait for a key to be + pressed. +* list-keys and list-commands can be run without starting the tmux server. +* kill-session learns -C to clear all alerts in all windows of the session. +* Support for hooks (internal for now), but hooks for the following have been + implemented: + + alert-bell + alert-silence + alert-activity + client-attached + client-detached + client-resized + pane-died + pane-exited + +* RGB (24bit) colour support. The 'Tc' flag must be set in the external TERM + entry (using terminal-overrides or a custom terminfo entry). + + +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 |