Commit Graph

7461 Commits

Author SHA1 Message Date
bd9133b31d Do not check for mouse events on pane borders when zoomed, based on a
fix from Avi Halachmi.
2018-09-11 06:37:54 +00:00
9b32758a0c Merge branch 'obsd-master' 2018-09-10 09:02:39 +01:00
5aa435a9f0 window_get_active_at needs to check visible also. 2018-09-10 07:51:11 +01:00
1b92afa799 Do not clear selection when searching. 2018-09-10 06:48:01 +00:00
a618271e12 Bring back window_pane_visible to stop input going to panes which are
hidden by zoom.
2018-09-10 07:19:17 +01:00
8598fd1bc5 Add to TODO. 2018-09-09 07:52:28 +01:00
59df942e09 Fixes to resize-window from Ben Boeckel. 2018-09-05 08:43:58 +01:00
621bb15b83 Cast parameters to tparm, from Christos Zoulas via Leonardo Taccari. 2018-09-05 08:42:17 +01:00
8e24b0bb3e Makefile.am: Add space between -f and argument
Required for some (older) aek instance -- namely NetBSD.
2018-09-04 13:13:32 +01:00
0c07b10b30 Merge branch 'obsd-master' 2018-09-03 11:02:39 +01:00
8f9491ddfe Allow a large line number to go to the end with goto-line, from Mark
Kelly in GitHub issue 1460.
2018-09-03 08:51:43 +00:00
9bab73f489 Fix selection test, from Takeshi Banse. 2018-09-03 08:47:27 +00:00
4e867202e8 Add to TODO. 2018-08-31 14:10:51 +01:00
e27b588b6c Merge branch 'obsd-master' 2018-08-29 21:02:37 +01:00
479cac4896 Fix target line for fast path in tty_draw_pane. 2018-08-29 20:52:27 +01:00
95e3e363ff Reset line flag when clearing selection, GitHub issue 1454. 2018-08-29 18:54:23 +00:00
7637518b07 Fix refresh-client flags. 2018-08-29 18:59:43 +01:00
9263a65b5f Update TODO. 2018-08-29 18:52:04 +01:00
b29028a914 Merge branch 'obsd-master' 2018-08-29 13:02:38 +01:00
1ea17a72f0 Merge branch 'obsd-master' 2018-08-29 11:02:36 +01:00
f57aa143c1 Keep any text killed in the command prompt with C-w and yank it with
C-y, only use the top buffer if no text has previously been killed. This
and previous change promped by discussion with kn@.
2018-08-29 09:50:32 +00:00
e53094bc5f Add C-Left and C-Right as aliases for M-b and M-f. 2018-08-29 08:56:51 +00:00
18b611bc8d Merge branch 'obsd-master' 2018-08-27 13:02:38 +01:00
79d2351ce8 Memory leaks, from Gang Fan in GitHub issue 1453. 2018-08-27 11:03:34 +00:00
79a9472dbc tty_clamp_* need to use wp->xoff and wp->yoff for the check (which
don't include status line, line ox and oy), but ctx->xoff and yp->off
to calculate the position (which do have the statu line).
2018-08-26 14:10:39 +01:00
d64daf874f Merge branch 'obsd-master' 2018-08-26 11:02:38 +01:00
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
7fbd2f5498 Do not draw cells which have no cell (zoomed and they are not active). 2018-08-25 13:55:50 +01:00
45841400f2 Merge branch 'obsd-master' 2018-08-23 21:02:36 +01:00
f38b5a1b58 all_jobs can be static. 2018-08-23 18:39:12 +00:00
da5d563375 Merge branch 'obsd-master' 2018-08-23 19:02:40 +01:00
bceccc6b63 Move job struct into job.c. 2018-08-23 15:45:05 +00:00
183193bdbc Update CHANGES. 2018-08-23 08:52:22 +01:00
5b93f0fcd3 Merge branch 'obsd-master' 2018-08-22 23:02:43 +01:00
ee3e0eb183 Update TODO. 2018-08-22 21:29:30 +01:00
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
db8849e7ca Update TODO. 2018-08-21 09:29:12 +01:00
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
314ee137a9 The stored mouse position should not include the status line offset if any. 2018-08-21 09:10:23 +01:00
f36d2ecb07 Merge branch 'obsd-master' 2018-08-20 23:02:38 +01:00
98a478ceb3 Move offset of window list into status struct. 2018-08-20 20:41:58 +00:00
9f39470b38 Only screen-redraw.c needs to adjust for message or prompt when the
status line is off, get rid of tty_status_lines and just pass the
client into status_line_size so it can check the CLIENT_STATUSOFF flag
as well.
2018-08-20 20:05:34 +01:00
458b4b7701 Need to adjust for lines if at top. 2018-08-20 19:45:32 +01:00
31508228bc Use the y offset from the context which has already been adjusted for
the status line, also make tty_clamp_line adjust the y position.
2018-08-20 19:34:04 +01:00
1e8c9fb490 Update CHANGES. 2018-08-20 17:52:27 +01:00
098967a085 Merge branch 'obsd-master' 2018-08-20 17:02:39 +01:00
665f046950 Add -Z to find-window as well. 2018-08-20 15:00:42 +00:00
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
9f2db6a0af Fix problems with page scrolling in copy mode, GitHub issue 1440 from
Amos Bird.
2018-08-20 13:51:09 +00:00
bf03197e18 Merge branch 'obsd-master' 2018-08-19 21:40:26 +01:00