Permalink
Browse files

Imported Upstream version 1.5

  • Loading branch information...
1 parent 77c63de commit 7216c39cb8e916c9f6f1e3de1a49540522502304 @kfebert kfebert committed Jul 9, 2011
Showing with 20,572 additions and 5,848 deletions.
  1. +86 −1 CHANGES
  2. +41 −3 FAQ
  3. +0 −87 GNUmakefile
  4. +0 −84 Makefile
  5. +243 −0 Makefile.am
  6. +1,270 −0 Makefile.in
  7. +2 −3 NOTES
  8. +40 −30 TODO
  9. +938 −0 aclocal.m4
  10. +222 −0 arguments.c
  11. +1 −1 array.h
  12. +1 −1 attributes.c
  13. +6 −6 cfg.c
  14. +19 −9 client.c
  15. +1 −1 clock.c
  16. +19 −17 cmd-attach-session.c
  17. +45 −136 cmd-bind-key.c
  18. +22 −17 cmd-break-pane.c
  19. +60 −20 cmd-capture-pane.c
  20. +14 −17 cmd-choose-buffer.c
  21. +10 −11 cmd-choose-client.c
  22. +10 −11 cmd-choose-session.c
  23. +16 −28 cmd-choose-window.c
  24. +8 −9 cmd-clear-history.c
  25. +8 −9 cmd-clock-mode.c
  26. +70 −125 cmd-command-prompt.c
  27. +31 −28 cmd-confirm-before.c
  28. +0 −205 cmd-copy-buffer.c
  29. +14 −22 cmd-copy-mode.c
  30. +22 −15 cmd-delete-buffer.c
  31. +33 −13 cmd-detach-client.c
  32. +26 −14 cmd-display-message.c
  33. +9 −10 cmd-display-panes.c
  34. +14 −13 cmd-find-window.c
  35. +0 −423 cmd-generic.c
  36. +8 −9 cmd-has-session.c
  37. +11 −18 cmd-if-shell.c
  38. +44 −156 cmd-join-pane.c
  39. +9 −10 cmd-kill-pane.c
  40. +4 −5 cmd-kill-server.c
  41. +9 −10 cmd-kill-session.c
  42. +9 −10 cmd-kill-window.c
  43. +0 −58 cmd-last-pane.c
  44. +0 −58 cmd-last-window.c
  45. +15 −16 cmd-link-window.c
  46. +10 −15 cmd-list-buffers.c
  47. +18 −7 cmd-list-clients.c
  48. +4 −5 cmd-list-commands.c
  49. +48 −33 cmd-list-keys.c
  50. +80 −19 cmd-list-panes.c
  51. +6 −6 cmd-list-sessions.c
  52. +49 −19 cmd-list-windows.c
  53. +1 −1 cmd-list.c
  54. +58 −69 cmd-load-buffer.c
  55. +39 −6 cmd-lock-server.c
  56. +15 −16 cmd-move-window.c
  57. +67 −142 cmd-new-session.c
  58. +26 −136 cmd-new-window.c
  59. +0 −54 cmd-next-layout.c
  60. +0 −76 cmd-next-window.c
  61. +48 −149 cmd-paste-buffer.c
  62. +14 −17 cmd-pipe-pane.c
  63. +0 −54 cmd-previous-layout.c
  64. +0 −76 cmd-previous-window.c
  65. +9 −10 cmd-refresh-client.c
  66. +18 −13 cmd-rename-session.c
  67. +11 −12 cmd-rename-window.c
  68. +53 −47 cmd-resize-pane.c
  69. +88 −0 cmd-respawn-pane.c
  70. +17 −12 cmd-respawn-window.c
  71. +13 −18 cmd-rotate-window.c
  72. +10 −13 cmd-run-shell.c
  73. +34 −27 cmd-save-buffer.c
  74. +76 −37 cmd-select-layout.c
  75. +49 −27 cmd-select-pane.c
  76. +91 −21 cmd-select-window.c
  77. +19 −107 cmd-send-keys.c
  78. +8 −9 cmd-send-prefix.c
  79. +31 −31 cmd-server-info.c
  80. +28 −21 cmd-set-buffer.c
  81. +27 −21 cmd-set-environment.c
  82. +251 −409 cmd-set-option.c
  83. +0 −47 cmd-set-window-option.c
  84. +26 −18 cmd-show-buffer.c
  85. +12 −13 cmd-show-environment.c
  86. +12 −13 cmd-show-messages.c
  87. +37 −28 cmd-show-options.c
  88. +0 −50 cmd-show-window-options.c
  89. +29 −86 cmd-source-file.c
  90. +52 −166 cmd-split-window.c
  91. +4 −5 cmd-start-server.c
  92. +1 −1 cmd-string.c
  93. +10 −16 cmd-suspend-client.c
  94. +25 −27 cmd-swap-pane.c
  95. +13 −11 cmd-swap-window.c
  96. +21 −134 cmd-switch-client.c
  97. +36 −94 cmd-unbind-key.c
  98. +9 −10 cmd-unlink-window.c
  99. +155 −68 cmd.c
  100. +118 −3 colour.c
  101. +4 −9 compat.h
  102. +11 −38 compat/asprintf.c
  103. +1 −1 compat/bitstring.h
  104. +1 −1 compat/closefrom.c
  105. +1 −0 compat/daemon.c
  106. +1 −1 compat/fgetln.c
  107. +3 −3 compat/forkpty-aix.c
  108. +89 −0 compat/forkpty-hpux.c
  109. +2 −2 compat/forkpty-sunos.c
  110. +1 −1 compat/getopt.c
  111. +1 −1 compat/imsg-buffer.c
  112. +1 −1 compat/imsg.c
  113. +1 −1 compat/imsg.h
  114. +1 −1 compat/queue.h
  115. +1 −1 compat/setenv.c
  116. +1 −1 compat/strcasestr.c
  117. +1 −1 compat/strlcat.c
  118. +1 −1 compat/strlcpy.c
  119. +2 −2 compat/strsep.c
  120. +1 −1 compat/strtonum.c
  121. +1 −1 compat/tree.h
  122. +17 −16 compat/unvis.c
  123. +3 −2 compat/vis.c
  124. +1 −1 compat/vis.h
  125. +7,132 −299 configure
  126. +433 −0 configure.ac
  127. +1 −1 environ.c
  128. +144 −0 etc/compile
  129. +1,501 −0 etc/config.guess
  130. +1,705 −0 etc/config.sub
  131. +632 −0 etc/depcomp
  132. +520 −0 etc/install-sh
  133. +378 −0 etc/missing
  134. +1 −1 examples/h-boetes.conf
  135. +1 −1 examples/n-marriott.conf
  136. +1 −1 examples/screen-keys.conf
  137. +1 −1 examples/t-williams.conf
  138. +1 −1 examples/tmux.vim
  139. +81 −0 examples/tmux_backup.sh
  140. +1 −1 examples/vim-keys.conf
  141. +1 −1 grid-utf8.c
  142. +25 −1 grid-view.c
  143. +1 −1 grid.c
  144. +32 −13 input-keys.c
  145. +113 −40 input.c
  146. +70 −138 job.c
  147. +6 −4 key-bindings.c
  148. +7 −5 key-string.c
  149. +12 −1 layout-custom.c
  150. +2 −2 layout-set.c
  151. +0 −168 layout-string.c
  152. +48 −1 layout.c
  153. +1 −1 log.c
  154. +12 −6 mode-key.c
  155. +1 −1 names.c
  156. +666 −0 options-table.c
  157. +1 −1 options.c
  158. +12 −30 cmd-lock-session.c → osdep-aix.c
  159. +17 −3 osdep-darwin.c
  160. +14 −1 osdep-freebsd.c
  161. +11 −29 cmd-lock-client.c → osdep-hpux.c
  162. +18 −1 osdep-linux.c
  163. +9 −1 osdep-netbsd.c
  164. +18 −10 osdep-openbsd.c
  165. +8 −1 osdep-sunos.c
  166. +9 −1 osdep-unknown.c
  167. +2 −15 paste.c
  168. +1 −1 resize.c
  169. +5 −1 screen-redraw.c
  170. +68 −12 screen-write.c
  171. +21 −2 screen.c
  172. +101 −33 server-client.c
  173. +16 −9 server-fn.c
  174. +23 −2 server-window.c
  175. +10 −18 server.c
  176. +40 −20 session.c
  177. +1 −1 signal.c
  178. +186 −88 status.c
  179. +294 −61 tmux.1
  180. +53 −171 tmux.c
  181. +197 −160 tmux.h
  182. +1 −1 tty-acs.c
  183. +50 −20 tty-keys.c
  184. +59 −25 tty-term.c
  185. +128 −36 tty.c
  186. +14 −1 utf8.c
  187. +2 −2 window-choose.c
  188. +1 −1 window-clock.c
  189. +77 −33 window-copy.c
  190. +127 −24 window.c
  191. +1 −1 xmalloc.c
  192. +14 −12 xterm-keys.c
View
87 CHANGES
@@ -1,3 +1,88 @@
+CHANGES FROM 1.4 TO 1.5, 09 July 2011
+
+* Support xterm mouse modes 1002 and 1003.
+* Change from a per-session stack of buffers to one global stack. This renders
+ copy-buffer useless and makes buffer-limit now a server option.
+* Fix most-recently-used choice by avoiding reset the activity timer for
+ unattached sessions every second.
+* Add a -P option to new-window and split-window to print the new window or
+ pane index in target form (useful to pass it into other commands).
+* Handle a # at the end of a replacement string (such as status-left)
+ correctly.
+* Support for UTF-8 mouse input (\033[1005h) which was added in xterm 262.
+ If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all
+ UTF-8 terminals. The option defaults to on if LANG etc are set in the same
+ manner as the utf8 option.
+* Support for HP-UX.
+* Accept colours of the hex form #ffffff and translate to the nearest from the
+ xterm(1) 256-colour set.
+* Clear the non-blocking IO flag (O_NONBLOCK) on the stdio file descriptors
+ before closing them (fixes things like "tmux ls && cat").
+* Use TMPDIR if set.
+* Fix next and previous session functions to actually work.
+* Support -x and -y for new-session to specify the initial size of the window
+ if created detached with -d.
+* Make bind-key accept characters with the top-bit-set and print them as octal.
+* Set $TMUX without the session when background jobs are run.
+* Simplify the way jobs work and drop the persist type, so all jobs are
+ fire-and-forget.
+* Accept tcgetattr/tcsetattr(3) failure, fixes problems with fatal() if the
+ terminal disappears while locked.
+* Add a -P option to detach to HUP the client's parent process (usually causing
+ it to exit as well).
+* Support passing through escape sequences to the underlying terminal by using
+ DCS with a "tmux;" prefix.
+* Prevent tiled producing a corrupt layout when only one column is needed.
+* Give each pane created in a tmux server a unique id (starting from 0), put it
+ in the TMUX_PANE environment variable and accept it as a target.
+* Allow a start and end line to be specified for capture-pane which may be
+ negative to capture part of the history.
+* Add -a and -s options to lsp to list all panes in the server or session
+ respectively. Likewise add -s to lsw.
+* Change -t on display-message to be target-pane for the #[A-Z] replacements
+ and add -c as target-client.
+* The attach-session command now prefers the most recently used unattached
+ session.
+* Add -s option to detach-client to detach all clients attached to a session.
+* Add -t to list-clients.
+* Change window with mouse wheel over status line if mouse-select-window is on.
+* When mode-mouse is on, automatically enter copy mode when the mouse is
+ dragged or the mouse wheel is used. Also exit copy mode when the mouse wheel
+ is scrolled off the bottom.
+* Provide #h character pair for short hostname (no domain).
+* Don't use strnvis(3) for the title as it breaks UTF-8.
+* Use the tsl and fsl terminfo(5) capabilities to update terminal title and
+ automatically fill them in on terminals with the XT capability (which means
+ their title setting is xterm-compatible).
+* Add a new option, mouse-resize-pane. When on, panes may be resized by
+ dragging their borders.
+* Fix crash by resetting last pane on {break,swap}-pane across windows.
+* Add three new copy-mode commands - select-line, copy-line, copy-end-of-line.
+* Support setting the xterm clipboard when copying from copy mode using the
+ xterm escape sequence for the purpose (if xterm is configured to allow it).
+* Support xterm(1) cursor colour change sequences through terminfo(5) Cc
+ (set) and Cr (reset) extensions.
+* Support DECSCUSR sequence to set the cursor style with two new terminfo(5)
+ extensions, Cs and Csr.
+* Make the command-prompt custom prompts recognize the status-left option
+ character pairs.
+* Add a respawn-pane command.
+* Add a couple of extra xterm-style keys that gnome terminal provides.
+* Allow the initial context on prompts to be set with the new -I option to
+ command-prompt. Include the current window and session name in the prompt
+ when renaming and add a new key binding ($) for rename session.
+* Option bell-on-alert added to trigger the terminal bell when there is an
+ alert.
+* Change the list-keys format so that it shows the keys using actual tmux
+ commands which should be able to be directly copied into the config file.
+* Show full targets for lsp/lsw -a.
+* Make confirm-before prompt customizable with -p option like command-prompt
+ and add the character pairs #W and #P to the default kill-{pane,window}
+ prompts.
+* Avoid sending data to suspended/locked clients.
+* Small memory leaks in error paths plugged.
+* Vi mode improvements.
+
CHANGES FROM 1.3 TO 1.4, 27 December 2010
* Window bell reporting fixed.
@@ -1554,7 +1639,7 @@ The list of older changes is below.
(including mutt, emacs). No status bar yet and no key remapping or other
customisation.
-$Id: CHANGES,v 1.304 2010/12/27 21:37:42 tcunha Exp $
+$Id: CHANGES 2559 2011-07-09 16:01:55Z tcunha $
LocalWords: showw utf UTF fulvio ciriaco joshe OSC APC gettime abc DEF OA clr
LocalWords: rivo nurges lscm Erdely eol smysession mysession ek dstname RB ms
View
44 FAQ
@@ -103,8 +103,7 @@ aware of are (bearing in mind I haven't used screen for a few years now):
- tmux tends to be more demanding on the terminal so tends to show up terminal
and application bugs which screen does not.
-- screen has wider platform support, for example IRIX and HP-UX, and for odd
- terminals.
+- screen has wider platform support, for example IRIX, and for odd terminals.
* I found a bug! What do I do?
@@ -371,5 +370,44 @@ If it is not a character device or has incorrect permissions, it can typically
be recreated with:
cd /dev && rm null && ./MAKEDEV null
+
+* vim displays reverse video instead of italics, while less displays italics
+ (or just regular text) instead of reverse. What's wrong?
+
+Screen's terminfo description lacks italics mode and has standout mode in its
+place, but using the same escape sequence that urxvt uses for italics. This
+means applications (like vim) looking for italics will not find it and might
+turn to reverse in its place, while applications (like less) asking for
+standout will end up with italics instead of reverse. To make applications
+aware that tmux supports italics and to use a proper escape sequence for
+standout, you'll need to create a new terminfo file with modified sgr, smso,
+rmso, sitm and ritm entries:
+
+ $ mkdir $HOME/.terminfo/
+ $ screen_terminfo="screen"
+ $ infocmp "$screen_terminfo" | sed \
+ -e 's/^screen[^|]*|[^,]*,/screen-it|screen with italics support,/' \
+ -e 's/%?%p1%t;3%/%?%p1%t;7%/' \
+ -e 's/smso=[^,]*,/smso=\\E[7m,/' \
+ -e 's/rmso=[^,]*,/rmso=\\E[27m,/' \
+ -e '$s/$/ sitm=\\E[3m, ritm=\\E[23m,/' > /tmp/screen.terminfo
+ $ tic /tmp/screen.terminfo
+
+And tell tmux to use it in ~/.tmux.conf:
+
+ set -g default-terminal "screen-it"
+
+If your terminal supports 256 colors, use:
+
+ $ screen_terminfo="screen-256color"
+
+instead of "screen". See the FAQ entry about 256 colors support for more info.
+Also note that tmux will still display reverse video on terminals that do not
+support italics.
+
+If your urxvt cannot display italics at all, make sure you have an italics
+capable font enabled, for example, add to ~/.Xdefaults:
+
+ urxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true
-$Id: FAQ,v 1.41 2010/12/15 23:31:30 nicm Exp $
+$Id: FAQ 2554 2011-07-09 09:46:15Z tcunha $
View
@@ -1,87 +0,0 @@
-# $Id: GNUmakefile,v 1.130 2010/12/27 21:32:16 tcunha Exp $
-#
-# Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
-#
-# Permission to use, copy, modify, and distribute this software for any
-# purpose with or without fee is hereby granted, provided that the above
-# copyright notice and this permission notice appear in all copies.
-#
-# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-# WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
-# IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
-# OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-#
-
-.PHONY: clean
-
-VERSION= 1.4
-
-#FDEBUG= 1
-
-CC?= cc
-CFLAGS+= -DBUILD="\"$(VERSION)\""
-LDFLAGS+= -L/usr/local/lib
-LIBS+=
-
-# Sun CC
-ifneq ($(shell ($(CC) -V 2>&1|awk '/Sun C/' || true)), )
- CFLAGS+= -erroff=E_EMPTY_DECLARATION
- FDEBUG=
-endif
-
-ifdef FDEBUG
-CFLAGS+= -g -ggdb -DDEBUG
-CFLAGS+= -Wno-long-long -Wall -W -Wnested-externs -Wformat=2
-CFLAGS+= -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations
-CFLAGS+= -Wwrite-strings -Wshadow -Wpointer-arith -Wsign-compare
-CFLAGS+= -Wundef -Wbad-function-cast -Winline -Wcast-align
-endif
-
-# This sort of sucks but gets rid of the stupid warning and should work on
-# most platforms...
-ifeq ($(shell (LC_ALL=C $(CC) -v 2>&1|awk '/gcc version 4|clang/') || true), )
-CPPFLAGS:= -I. -I- $(CPPFLAGS)
-else
-CPPFLAGS:= -iquote. $(CPPFLAGS)
-ifdef FDEBUG
-CFLAGS+= -Wno-pointer-sign
-endif
-endif
-
-PREFIX?= /usr/local
-INSTALL?= install
-INSTALLDIR= $(INSTALL) -d
-INSTALLBIN= $(INSTALL) -m 555
-INSTALLMAN= $(INSTALL) -m 444
-
-SRCS= $(shell echo *.c|LC_ALL=C sed 's|osdep-[a-z0-9]*.c||g')
-include config.mk
-OBJS= $(patsubst %.c,%.o,$(SRCS))
-
-all: tmux
-
-tmux: $(OBJS)
- $(CC) $(LDFLAGS) -o tmux $+ $(LIBS)
-
-depend: $(SRCS)
- $(CC) $(CPPFLAGS) $(CFLAGS) -MM $(SRCS) > .depend
-
-clean:
- rm -f tmux *.o *~ *.core *.log compat/*.o compat/*~
-
-clean-depend:
- rm -f .depend
-
-clean-all: clean clean-depend
- rm -f config.h config.mk
-
-install: all
- $(INSTALLDIR) $(DESTDIR)$(PREFIX)/bin
- $(INSTALLBIN) tmux $(DESTDIR)$(PREFIX)/bin/tmux
- $(INSTALLDIR) $(DESTDIR)$(PREFIX)/man/man1
- $(INSTALLMAN) tmux.1 $(DESTDIR)$(PREFIX)/man/man1/tmux.1
-
--include .depend
View
@@ -1,84 +0,0 @@
-# $Id: Makefile,v 1.162 2010/12/27 21:32:16 tcunha Exp $
-#
-# Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
-#
-# Permission to use, copy, modify, and distribute this software for any
-# purpose with or without fee is hereby granted, provided that the above
-# copyright notice and this permission notice appear in all copies.
-#
-# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-# WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
-# IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
-# OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-#
-
-.SUFFIXES: .c .o
-.PHONY: clean
-
-VERSION= 1.4
-
-#FDEBUG= 1
-
-CC?= cc
-CFLAGS+= -DBUILD="\"$(VERSION)\""
-LDFLAGS+= -L/usr/local/lib
-LIBS+=
-
-.ifdef FDEBUG
-CFLAGS+= -g -ggdb -DDEBUG
-CFLAGS+= -Wno-long-long -Wall -W -Wnested-externs -Wformat=2
-CFLAGS+= -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations
-CFLAGS+= -Wwrite-strings -Wshadow -Wpointer-arith -Wsign-compare
-CFLAGS+= -Wundef -Wbad-function-cast -Winline -Wcast-align
-.endif
-
-# This sort of sucks but gets rid of the stupid warning and should work on
-# most platforms...
-CCV!= (LC_ALL=C ${CC} -v 2>&1|awk '/gcc version 4|clang/') || true
-.if empty(CCV)
-CPPFLAGS:= -I. -I- -I/usr/local/include ${CPPFLAGS}
-.else
-CPPFLAGS:= -iquote. -I/usr/local/include ${CPPFLAGS}
-.ifdef FDEBUG
-CFLAGS+= -Wno-pointer-sign
-.endif
-.endif
-
-PREFIX?= /usr/local
-INSTALL?= install
-INSTALLDIR= ${INSTALL} -d
-INSTALLBIN= ${INSTALL} -m 555
-INSTALLMAN= ${INSTALL} -m 444
-
-SRCS!= echo *.c|LC_ALL=C sed 's|osdep-[a-z0-9]*.c||g'
-.include "config.mk"
-OBJS= ${SRCS:S/.c/.o/}
-
-.c.o:
- ${CC} ${CPPFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
-
-all: tmux
-
-tmux: ${OBJS}
- ${CC} ${LDFLAGS} -o tmux ${OBJS} ${LIBS}
-
-depend:
- mkdep ${CPPFLAGS} ${CFLAGS} ${SRCS:M*.c}
-
-clean:
- rm -f tmux *.o *~ *.core *.log compat/*.o compat/*~
-
-clean-depend:
- rm -f .depend
-
-clean-all: clean clean-depend
- rm -f config.h config.mk
-
-install: all
- ${INSTALLDIR} ${DESTDIR}${PREFIX}/bin
- ${INSTALLBIN} tmux ${DESTDIR}${PREFIX}/bin/
- ${INSTALLDIR} ${DESTDIR}${PREFIX}/man/man1
- ${INSTALLMAN} tmux.1 ${DESTDIR}${PREFIX}/man/man1/
Oops, something went wrong.

0 comments on commit 7216c39

Please sign in to comment.