Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/external/bsd/tmux/dist CHANGES FROM 2.9 to 2.9a
details: https://anonhg.NetBSD.org/src/rev/b69b8ade22b4
branches: trunk
changeset: 460997:b69b8ade22b4
user: christos <christos%NetBSD.org@localhost>
date: Tue Nov 12 19:18:21 2019 +0000
description:
CHANGES FROM 2.9 to 2.9a
* Fix bugs in select-pane and the main-horizontal and main-vertical layouts.
CHANGES FROM 2.8 to 2.9
* Attempt to preserve horizontal cursor position as well as vertical with
reflow.
* Rewrite main-vertical and horizontal and change layouts to better handle the
case where all panes won't fit into the window size, reduce problems with
pane border status lines and fix other bugs mostly found by Thomas Sattler.
* Add format variables for the default formats in the various modes
(tree_mode_format and so on) and add a -a flag to display-message to list
variables with values.
* Add a -v flag to display-message to show verbose messages as the format is
parsed, this allows formats to be debugged
* Add support for HPA (\033[`).
* Add support for origin mode (\033[?6h).
* No longer clear history on RIS.
* Extend the #[] style syntax and use that together with previous format
changes to allow the status line to be entirely configured with a single
option.
Now that it is possible to configure their content, enable the existing code
that lets the status line be multiple lines in height. The status option can
now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to
configure more than one line. The new status-format array option configures
the format of each line, the default just references the existing status-*
options, although some of the more obscure status options may be eliminated
in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre,
right), "list" for the window list and "range" to configure ranges of text
for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree
mode and the pane status lines.
* Add E: and T: format modifiers to expand a format twice (useful to expand the
value of an option).
* The individual -fg, -bg and -attr options have been removed; they
were superseded by -style options in tmux 1.9.
* Allow more than one mode to be opened in a pane. Modes are kept on a stack
and retrieved if the same mode is entered again. Exiting the active mode goes
back to the previous one.
* When showing command output in copy mode, call it view mode instead (affects
pane_mode format).
* Add -b to display-panes like run-shell.
* Handle UTF-8 in word-separators option.
* New "terminal" colour allowing options to use the terminal default colour
rather than inheriting the default from a parent option.
* Do not move the cursor in copy mode when the mouse wheel is used.
* Use the same working directory rules for jobs as new windows rather than
always starting in the user's home.
* Allow panes to be one line or column in size.
* Go to last line when goto-line number is out of range in copy mode.
* Yank previously cut text if any with C-y in the command prompt, only use the
buffer if no text has been cut.
* Add q: format modifier to quote shell special characters.
* Add StatusLeft and StatusRight mouse locations (keys such as
MouseDown1StatusLeft) for the status-left and status-right areas of the
status line.
* Add -Z to find-window.
* Support for windows larger than the client. This adds two new options,
window-size and default-size, and a new command, resize-window. The
force-width and force-height options and the session_width and session_height
formats have been removed.
The new window-size option tells tmux how to work out the size of windows:
largest means it picks the size of the largest session, smallest the smallest
session (similar to the old behaviour) and manual means that it does not
automatically resize windows. aggressive-resize modifies the choice of
session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part
of the window is shown. tmux attempts to keep the cursor visible, so the part
of the window displayed is changed as the cursor moves (with a small delay,
to try and avoid excess redrawing when applications redraw status lines or
similar that are not currently visible).
Drawing windows which are larger than the client is not as efficient as those
which fit, particularly when the cursor moves, so it is recommended to avoid
using this on slow machines or networks (set window-size to smallest or
manual).
The resize-window command can be used to resize a window manually. If it is
used, the window-size option is automatically set to manual for the window
(undo this with "setw -u window-size"). resize-window works in a similar way
to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a
sets the window to the size of the smallest client (what it would be if
window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x
or -y.
If the global window-size option is set to manual, the default-size option is
used for new windows. If -x or -y is used with new-session, that sets the
default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to
complain and higher memory use if making a window that big. The minimum size
is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R
moves up, down, left or right and -c returns to automatic cursor
tracking. The position is reset when the current window is changed.
diffstat:
external/bsd/tmux/dist/CHANGES | 139 ++++-
external/bsd/tmux/dist/Makefile.am | 4 +-
external/bsd/tmux/dist/Makefile.in | 35 +-
external/bsd/tmux/dist/TODO | 38 +-
external/bsd/tmux/dist/aclocal.m4 | 214 ++++--
external/bsd/tmux/dist/attributes.c | 56 +-
external/bsd/tmux/dist/cfg.c | 13 +-
external/bsd/tmux/dist/cmd-break-pane.c | 2 +-
external/bsd/tmux/dist/cmd-choose-tree.c | 6 +-
external/bsd/tmux/dist/cmd-copy-mode.c | 16 +-
external/bsd/tmux/dist/cmd-display-panes.c | 25 +-
external/bsd/tmux/dist/cmd-find-window.c | 6 +-
external/bsd/tmux/dist/cmd-find.c | 56 +-
external/bsd/tmux/dist/cmd-list-sessions.c | 3 +-
external/bsd/tmux/dist/cmd-pipe-pane.c | 9 +-
external/bsd/tmux/dist/cmd-refresh-client.c | 83 ++-
external/bsd/tmux/dist/cmd-resize-pane.c | 18 +-
external/bsd/tmux/dist/cmd-resize-window.c | 109 +++
external/bsd/tmux/dist/cmd-respawn-pane.c | 2 +-
external/bsd/tmux/dist/cmd-respawn-window.c | 2 +-
external/bsd/tmux/dist/cmd-run-shell.c | 42 +-
external/bsd/tmux/dist/cmd-select-layout.c | 1 +
external/bsd/tmux/dist/cmd-select-pane.c | 46 +-
external/bsd/tmux/dist/cmd-set-option.c | 50 +-
external/bsd/tmux/dist/cmd-show-options.c | 36 +-
external/bsd/tmux/dist/cmd-swap-pane.c | 2 -
external/bsd/tmux/dist/cmd-switch-client.c | 6 +-
external/bsd/tmux/dist/cmd.c | 40 +-
external/bsd/tmux/dist/configure | 80 ++-
external/bsd/tmux/dist/configure.ac | 7 +-
external/bsd/tmux/dist/control-notify.c | 2 +
external/bsd/tmux/dist/example_tmux.conf | 8 +-
external/bsd/tmux/dist/format-draw.c | 892 ++++++++++++++++++++++++++++
external/bsd/tmux/dist/key-string.c | 6 +
external/bsd/tmux/dist/layout-custom.c | 2 +-
external/bsd/tmux/dist/layout-set.c | 292 +++-----
external/bsd/tmux/dist/layout.c | 126 +--
external/bsd/tmux/dist/options-table.c | 359 ++--------
external/bsd/tmux/dist/osdep-freebsd.c | 2 +
external/bsd/tmux/dist/osdep-netbsd.c | 23 +-
external/bsd/tmux/dist/resize.c | 337 ++++++---
external/bsd/tmux/dist/screen-redraw.c | 413 +++++++-----
external/bsd/tmux/dist/server.c | 27 +-
external/bsd/tmux/dist/style.c | 275 ++++++--
external/bsd/tmux/dist/window-clock.c | 63 +-
45 files changed, 2748 insertions(+), 1225 deletions(-)
diffs (truncated from 5929 to 300 lines):
diff -r ef628eedbb23 -r b69b8ade22b4 external/bsd/tmux/dist/CHANGES
--- a/external/bsd/tmux/dist/CHANGES Tue Nov 12 18:59:51 2019 +0000
+++ b/external/bsd/tmux/dist/CHANGES Tue Nov 12 19:18:21 2019 +0000
@@ -1,3 +1,132 @@
+CHANGES FROM 2.9 to 2.9a
+
+* Fix bugs in select-pane and the main-horizontal and main-vertical layouts.
+
+CHANGES FROM 2.8 to 2.9
+
+* Attempt to preserve horizontal cursor position as well as vertical with
+ reflow.
+
+* Rewrite main-vertical and horizontal and change layouts to better handle the
+ case where all panes won't fit into the window size, reduce problems with
+ pane border status lines and fix other bugs mostly found by Thomas Sattler.
+
+* Add format variables for the default formats in the various modes
+ (tree_mode_format and so on) and add a -a flag to display-message to list
+ variables with values.
+
+* Add a -v flag to display-message to show verbose messages as the format is
+ parsed, this allows formats to be debugged
+
+* Add support for HPA (\033[`).
+
+* Add support for origin mode (\033[?6h).
+
+* No longer clear history on RIS.
+
+* Extend the #[] style syntax and use that together with previous format
+ changes to allow the status line to be entirely configured with a single
+ option.
+
+ Now that it is possible to configure their content, enable the existing code
+ that lets the status line be multiple lines in height. The status option can
+ now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to
+ configure more than one line. The new status-format array option configures
+ the format of each line, the default just references the existing status-*
+ options, although some of the more obscure status options may be eliminated
+ in time.
+
+ Additions to the #[] syntax are: "align" to specify alignment (left, centre,
+ right), "list" for the window list and "range" to configure ranges of text
+ for the mouse bindings.
+
+ The "align" keyword can also be used to specify alignment of entries in tree
+ mode and the pane status lines.
+
+* Add E: and T: format modifiers to expand a format twice (useful to expand the
+ value of an option).
+
+* The individual -fg, -bg and -attr options have been removed; they
+ were superseded by -style options in tmux 1.9.
+
+* Allow more than one mode to be opened in a pane. Modes are kept on a stack
+ and retrieved if the same mode is entered again. Exiting the active mode goes
+ back to the previous one.
+
+* When showing command output in copy mode, call it view mode instead (affects
+ pane_mode format).
+
+* Add -b to display-panes like run-shell.
+
+* Handle UTF-8 in word-separators option.
+
+* New "terminal" colour allowing options to use the terminal default colour
+ rather than inheriting the default from a parent option.
+
+* Do not move the cursor in copy mode when the mouse wheel is used.
+
+* Use the same working directory rules for jobs as new windows rather than
+ always starting in the user's home.
+
+* Allow panes to be one line or column in size.
+
+* Go to last line when goto-line number is out of range in copy mode.
+
+* Yank previously cut text if any with C-y in the command prompt, only use the
+ buffer if no text has been cut.
+
+* Add q: format modifier to quote shell special characters.
+
+* Add StatusLeft and StatusRight mouse locations (keys such as
+ MouseDown1StatusLeft) for the status-left and status-right areas of the
+ status line.
+
+* Add -Z to find-window.
+
+* Support for windows larger than the client. This adds two new options,
+ window-size and default-size, and a new command, resize-window. The
+ force-width and force-height options and the session_width and session_height
+ formats have been removed.
+
+ The new window-size option tells tmux how to work out the size of windows:
+ largest means it picks the size of the largest session, smallest the smallest
+ session (similar to the old behaviour) and manual means that it does not
+ automatically resize windows. aggressive-resize modifies the choice of
+ session for largest and smallest as it did before.
+
+ If a window is in a session attached to a client that is too small, only part
+ of the window is shown. tmux attempts to keep the cursor visible, so the part
+ of the window displayed is changed as the cursor moves (with a small delay,
+ to try and avoid excess redrawing when applications redraw status lines or
+ similar that are not currently visible).
+
+ Drawing windows which are larger than the client is not as efficient as those
+ which fit, particularly when the cursor moves, so it is recommended to avoid
+ using this on slow machines or networks (set window-size to smallest or
+ manual).
+
+ The resize-window command can be used to resize a window manually. If it is
+ used, the window-size option is automatically set to manual for the window
+ (undo this with "setw -u window-size"). resize-window works in a similar way
+ to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a
+ sets the window to the size of the smallest client (what it would be if
+ window-size was smallest) and -A the largest.
+
+ For the same behaviour as force-width or force-height, use resize-window -x
+ or -y.
+
+ If the global window-size option is set to manual, the default-size option is
+ used for new windows. If -x or -y is used with new-session, that sets the
+ default-size option for the new session.
+
+ The maximum size of a window is 10000x10000. But expect applications to
+ complain and higher memory use if making a window that big. The minimum size
+ is the size required for the current layout including borders.
+
+ The refresh-client command can be used to pan around a window, -U -D -L -R
+ moves up, down, left or right and -c returns to automatic cursor
+ tracking. The position is reset when the current window is changed.
+
CHANGES FROM 2.7 to 2.8
* Make display-panes block the client until a pane is chosen or it
@@ -291,7 +420,7 @@
* Do not redraw a client unless we realistically think it can accept the data -
defer redraws until the client has nothing else waiting to write.
-
+
CHANGES FROM 2.3 TO 2.4, 20 April 2017
Incompatible Changes
@@ -577,7 +706,7 @@
==============
* Fix crash due to uninitialized lastwp member of layout_cell
-* Fix -fg/-bg/-style with 256 colour terminals.
+* Fix -fg/-bg/-style with 256 colour terminals.
CHANGES FROM 1.8 TO 1.9, 20 February 2014
@@ -935,7 +1064,7 @@
* Run job commands explicitly in the global environment (which can be modified
with setenv -g), rather than with the environment tmux started with.
* Use the machine's hostname as the default title, instead of an empty string.
-* Prevent double free if the window option remain-on-exit is set.
+* Prevent double free if the window option remain-on-exit is set.
* Key string conversions rewritten.
* Mark zombie windows as dead in the choose-window list.
* Tiled layout added.
@@ -1037,7 +1166,7 @@
* New lock-client (alias lockc), and lock-session (alias locks) commands to
lock a particular client, or all clients attached to a session.
* Support C-n/C-p/C-v/M-v with emacs keys in choice mode.
-* Use : for goto line rather than g in vi mode.
+* Use : for goto line rather than g in vi mode.
* Try to guess which client to use when no target client was specified. Finds
the current session, and if only one client is present, use it. Otherwise,
return the most recently used client.
@@ -1168,7 +1297,7 @@
* main-horizontal layout and main-pane-height option to match vertical.
* New window option main-pane-width to set the width of the large left pane with
- main-vertical (was left-vertical) layout.
+ main-vertical (was left-vertical) layout.
* Lots of layout cleanup. manual layout is now manual-vertical.
16 May 2009
diff -r ef628eedbb23 -r b69b8ade22b4 external/bsd/tmux/dist/Makefile.am
--- a/external/bsd/tmux/dist/Makefile.am Tue Nov 12 18:59:51 2019 +0000
+++ b/external/bsd/tmux/dist/Makefile.am Tue Nov 12 19:18:21 2019 +0000
@@ -100,6 +100,7 @@
cmd-rename-session.c \
cmd-rename-window.c \
cmd-resize-pane.c \
+ cmd-resize-window.c \
cmd-respawn-pane.c \
cmd-respawn-window.c \
cmd-rotate-window.c \
@@ -131,6 +132,7 @@
control.c \
environ.c \
format.c \
+ format-draw.c \
grid-view.c \
grid.c \
hooks.c \
@@ -195,7 +197,7 @@
>$(srcdir)/tmux.1.mdoc; \
else \
sed -e "s|@SYSCONFDIR@|$(sysconfdir)|g" $(srcdir)/tmux.1| \
- $(AWK) -f$(srcdir)/mdoc2man.awk >$(srcdir)/tmux.1.man; \
+ $(AWK) -f $(srcdir)/mdoc2man.awk >$(srcdir)/tmux.1.man; \
fi
$(mkdir_p) $(DESTDIR)$(mandir)/man1
$(INSTALL_DATA) $(srcdir)/tmux.1.@MANFORMAT@ \
diff -r ef628eedbb23 -r b69b8ade22b4 external/bsd/tmux/dist/Makefile.in
--- a/external/bsd/tmux/dist/Makefile.in Tue Nov 12 18:59:51 2019 +0000
+++ b/external/bsd/tmux/dist/Makefile.in Tue Nov 12 19:18:21 2019 +0000
@@ -162,20 +162,21 @@
cmd-pipe-pane.$(OBJEXT) cmd-queue.$(OBJEXT) \
cmd-refresh-client.$(OBJEXT) cmd-rename-session.$(OBJEXT) \
cmd-rename-window.$(OBJEXT) cmd-resize-pane.$(OBJEXT) \
- cmd-respawn-pane.$(OBJEXT) cmd-respawn-window.$(OBJEXT) \
- cmd-rotate-window.$(OBJEXT) cmd-run-shell.$(OBJEXT) \
- cmd-save-buffer.$(OBJEXT) cmd-select-layout.$(OBJEXT) \
- cmd-select-pane.$(OBJEXT) cmd-select-window.$(OBJEXT) \
- cmd-send-keys.$(OBJEXT) cmd-set-buffer.$(OBJEXT) \
- cmd-set-environment.$(OBJEXT) cmd-set-hook.$(OBJEXT) \
- cmd-set-option.$(OBJEXT) cmd-show-environment.$(OBJEXT) \
- cmd-show-messages.$(OBJEXT) cmd-show-options.$(OBJEXT) \
- cmd-source-file.$(OBJEXT) cmd-split-window.$(OBJEXT) \
- cmd-string.$(OBJEXT) cmd-swap-pane.$(OBJEXT) \
- cmd-swap-window.$(OBJEXT) cmd-switch-client.$(OBJEXT) \
- cmd-unbind-key.$(OBJEXT) cmd-wait-for.$(OBJEXT) cmd.$(OBJEXT) \
- colour.$(OBJEXT) control-notify.$(OBJEXT) control.$(OBJEXT) \
- environ.$(OBJEXT) format.$(OBJEXT) grid-view.$(OBJEXT) \
+ cmd-resize-window.$(OBJEXT) cmd-respawn-pane.$(OBJEXT) \
+ cmd-respawn-window.$(OBJEXT) cmd-rotate-window.$(OBJEXT) \
+ cmd-run-shell.$(OBJEXT) cmd-save-buffer.$(OBJEXT) \
+ cmd-select-layout.$(OBJEXT) cmd-select-pane.$(OBJEXT) \
+ cmd-select-window.$(OBJEXT) cmd-send-keys.$(OBJEXT) \
+ cmd-set-buffer.$(OBJEXT) cmd-set-environment.$(OBJEXT) \
+ cmd-set-hook.$(OBJEXT) cmd-set-option.$(OBJEXT) \
+ cmd-show-environment.$(OBJEXT) cmd-show-messages.$(OBJEXT) \
+ cmd-show-options.$(OBJEXT) cmd-source-file.$(OBJEXT) \
+ cmd-split-window.$(OBJEXT) cmd-string.$(OBJEXT) \
+ cmd-swap-pane.$(OBJEXT) cmd-swap-window.$(OBJEXT) \
+ cmd-switch-client.$(OBJEXT) cmd-unbind-key.$(OBJEXT) \
+ cmd-wait-for.$(OBJEXT) cmd.$(OBJEXT) colour.$(OBJEXT) \
+ control-notify.$(OBJEXT) control.$(OBJEXT) environ.$(OBJEXT) \
+ format.$(OBJEXT) format-draw.$(OBJEXT) grid-view.$(OBJEXT) \
grid.$(OBJEXT) hooks.$(OBJEXT) input-keys.$(OBJEXT) \
input.$(OBJEXT) job.$(OBJEXT) key-bindings.$(OBJEXT) \
key-string.$(OBJEXT) layout-custom.$(OBJEXT) \
@@ -475,6 +476,7 @@
cmd-rename-session.c \
cmd-rename-window.c \
cmd-resize-pane.c \
+ cmd-resize-window.c \
cmd-respawn-pane.c \
cmd-respawn-window.c \
cmd-rotate-window.c \
@@ -506,6 +508,7 @@
control.c \
environ.c \
format.c \
+ format-draw.c \
grid-view.c \
grid.c \
hooks.c \
@@ -698,6 +701,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmd-rename-session.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmd-rename-window.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmd-resize-pane.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmd-resize-window.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmd-respawn-pane.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmd-respawn-window.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmd-rotate-window.Po@am__quote@
@@ -727,6 +731,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/control-notify.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/control.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/environ.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/format-draw.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/format.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grid-view.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grid.Po@am__quote@
@@ -1187,7 +1192,7 @@
>$(srcdir)/tmux.1.mdoc; \
else \
sed -e "s|@SYSCONFDIR@|$(sysconfdir)|g" $(srcdir)/tmux.1| \
- $(AWK) -f$(srcdir)/mdoc2man.awk >$(srcdir)/tmux.1.man; \
+ $(AWK) -f $(srcdir)/mdoc2man.awk >$(srcdir)/tmux.1.man; \
fi
$(mkdir_p) $(DESTDIR)$(mandir)/man1
$(INSTALL_DATA) $(srcdir)/tmux.1.@MANFORMAT@ \
diff -r ef628eedbb23 -r b69b8ade22b4 external/bsd/tmux/dist/TODO
--- a/external/bsd/tmux/dist/TODO Tue Nov 12 18:59:51 2019 +0000
+++ b/external/bsd/tmux/dist/TODO Tue Nov 12 19:18:21 2019 +0000
@@ -16,13 +16,11 @@
* way to set socket path from config file
- format improvements:
- * option to quote format (#{q:session_name})
* some way to pad # stuff with spaces
* formats to show if a window is linked into multiple sessions, into
multiple attached sessions, and is the active window in multiple
Home |
Main Index |
Thread Index |
Old Index