Commit Graph

1226 Commits

Author SHA1 Message Date
Nicholas Marriott 7637518b07 Fix refresh-client flags. 2018-08-29 18:59:43 +01:00
Thomas Adam d64daf874f Merge branch 'obsd-master' 2018-08-26 11:02:38 +01:00
nicm 1b4402c823 Add q: format prefix to escape sh(1) special characters. Suggested by
someone ages ago and then more recently in GitHub issue 1449.
2018-08-26 09:28:42 +00:00
Thomas Adam 5b93f0fcd3 Merge branch 'obsd-master' 2018-08-22 23:02:43 +01:00
nicm 55db3623bf Add StatusLeft and StatusRight mouse key modifiers for the left and
right parts of the status line.
2018-08-22 20:06:14 +00:00
Nicholas Marriott bfc9fb4b3b Add flags to refresh-client (-U -D -L -R and -c) to pan a window that
is larger than the client manually. Bound to S-Up, S-Down, S-Left,
S-Right and Delete manually.

Also add aliases for keys DC = Delete, IC = Insert, and make
refresh-client -C accept XxY as well as X,Y to match default-size.
2018-08-21 09:27:19 +01:00
Thomas Adam 098967a085 Merge branch 'obsd-master' 2018-08-20 17:02:39 +01:00
nicm 665f046950 Add -Z to find-window as well. 2018-08-20 15:00:42 +00:00
Nicholas Marriott 641191ab20 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-width -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 you make a window that big. The
minimum size is the size required for the current layout including
borders.

This change allows some code improvements, most notably that since
windows can now never be cropped, that code can be removed from the
layout code, and since panes can now never be outside the size of the
window, window_pane_visible can be removed.
2018-08-20 15:22:14 +01:00
Thomas Adam aa32457772 Merge branch 'obsd-master' 2018-07-23 21:02:25 +01:00
kn 5c78b48cdf Point to glob in section 7 for the actual list of special characters instead
the C API in section 3.

OK millert jmc nicm, "the right idea" deraadt
2018-07-23 19:02:49 +00:00
Thomas Adam 6f2698004e Merge branch 'obsd-master' 2018-07-06 09:02:24 +01:00
nicm 28a5bc8fae Add a rectangle_toggle format, from Hirokazu Hata. 2018-07-06 07:11:23 +00:00
Thomas Adam 20154f391e Merge branch 'obsd-master' 2018-07-04 15:02:25 +01:00
jmc 98c4291df2 whitespace needed between macro args and punctuation; 2018-07-04 13:27:32 +00:00
nicm cc743dc296 Add set-hook -R to run a hook immediately (useful to set multiple hooks
to the same thing).
2018-07-04 12:30:52 +00:00
nicm d254293a6d Add pane focus hooks. 2018-07-04 12:25:26 +00:00
Thomas Adam 713e0ddef3 Merge branch 'obsd-master' 2018-06-08 13:02:25 +01:00
nicm ff45b2d343 Tweak previous - check for a NULL client and simplify manual text. 2018-06-08 09:43:58 +00:00
Thomas Adam 7de25d86e1 Merge branch 'obsd-master' 2018-06-03 13:02:31 +01:00
nicm ba31d3a88c Increment the lines counter when skipping a line to avoid an infinite
loop, and fix a check to avoid a potential out-of-bounds access. Problem
reported by Yuxiang Qin and tracked down by Karl Beldan; GitHub issue
1352.

Also a man page fix request by jmc@.
2018-06-03 10:17:30 +00:00
Thomas Adam 058d2b94dc Merge branch 'obsd-master' 2018-05-28 15:02:31 +01:00
nicm b602c1fb9a Document escaping inside conditionals, from "sadie-parayno" in GitHub
issue 1359.
2018-05-28 11:45:26 +00:00
Thomas Adam f0ac0d6793 Merge branch 'obsd-master' 2018-05-22 11:02:33 +01:00
nicm 2a04665626 Allow escaping , and } with # in #{}; GitHub issue 1332. 2018-05-22 08:49:12 +00:00
Thomas Adam 82c0eed36d Merge branch 'obsd-master' 2018-05-09 19:02:35 +01:00
nicm 80994a8de1 Mention allow-rename with \033k. 2018-05-09 16:20:50 +00:00
Thomas Adam d24bd7394d Merge branch 'obsd-master' 2018-04-23 17:02:32 +01:00
nicm 068d1b97b2 #aabbcc will use RGB if supported so don't say it is closest match. 2018-04-23 13:51:21 +00:00
Thomas Adam 6ebd737590 Merge branch 'obsd-master' 2018-04-18 15:02:25 +01:00
nicm e64d078a4c Fix || example. 2018-04-18 12:50:11 +00:00
Thomas Adam 1bd66b65a3 Merge branch 'obsd-master' 2018-04-10 13:02:28 +01:00
nicm c6975b3bb4 Add x and X to choose-tree (with a confirmation prompt) to kill an
item. Suggested by Matt Zagrabelny.
2018-04-10 10:48:44 +00:00
Thomas Adam 0ca9664ecf Merge branch 'obsd-master' 2018-02-28 10:02:29 +00:00
nicm 508e2f0b3a Add -Z flag to choose-tree, choose-client, choose-buffer to
automatically zoom the pane when the mode is entered and unzoom when it
exits, assuming the pane is not already zoomed. Add -Z to the default
key bindings.
2018-02-28 08:55:44 +00:00
Thomas Adam c2aa40449c Merge branch 'obsd-master' 2018-02-22 12:02:31 +00:00
nicm 623f4b12d3 Add exit-empty option to exit server if no sessions (defaults to on). 2018-02-22 10:54:51 +00:00
Thomas Adam 84ddc72744 Merge branch 'obsd-master' 2018-01-17 11:26:10 +00:00
nicm 5849b73b81 Add -I to pipe-pane to connect pane stdin as well as stdout, suggested
by Kristof Kovacs in GitHub issue 1186.
2018-01-16 09:00:38 +00:00
Thomas Adam e19df0e869 Merge branch 'obsd-master' 2017-12-22 12:01:22 +00:00
nicm 5c82432200 Remove duplicate WheelUp/WheelDown entries in list, GitHub issue 1184. 2017-12-22 10:16:36 +00:00
Thomas Adam 5fddddbe21 Merge branch 'obsd-master' 2017-11-16 12:01:18 +00:00
nicm e5ae9dd53d Add -and-cancel variants for scrolling commands to exit copy mode when
the bottom is reached, from Stephen Hicks.
2017-11-16 11:16:15 +00:00
Thomas Adam 102df8dc80 Merge branch 'obsd-master' 2017-11-15 22:01:22 +00:00
nicm 3b649d2fcd Add a common function for spreading out cells and use it for the two
even layouts and to add a -E flag to select-layout to spread out cells
evenly without changing parent cells.
2017-11-15 19:59:27 +00:00
Thomas Adam 8c29f7413b Merge branch 'obsd-master' 2017-11-02 20:01:26 +00:00
nicm 17655e5ba6 Format for group list of "other sessions" is a bit weird, just list all
the sessions in the group.
2017-11-02 18:52:05 +00:00
nicm c1f62f1fde Only show the first member of session groups in tree mode (-G flag
disables).
2017-11-02 18:27:35 +00:00
Thomas Adam cf782c4f54 Merge branch 'obsd-master' 2017-10-26 10:01:18 +01:00
nicm e91e8a2a6c Fix crash exiting command prompt (from Alex Maese in GitHub issue 1139)
and a man page tweak from jmc.
2017-10-26 08:17:12 +00:00