Commit Graph

7131 Commits

Author SHA1 Message Date
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
cac4eadca0 Add a flag to force redrawing of the status line even if the content
hasn't changed, needed for resizing.
2018-08-19 20:13:07 +00:00
3310972d75 Merge branch 'obsd-master' 2018-08-19 21:02:37 +01:00
d95fad3d5f Expand \u and \U escape sequences in command strings, from Christopher
Hunt in GitHub issue 1443.
2018-08-19 19:03:46 +00:00
9ecf657703 Merge branch 'obsd-master' 2018-08-19 19:02:40 +01:00
88327c7698 Add a client redraw-window flag instead of the redraw-all flag and for
all just use the three flags together (window, borders, status).
2018-08-19 16:45:03 +00:00
e811132b05 Merge branch 'obsd-master' 2018-08-18 23:02:40 +01:00
bd2896b65e SESSION_UNATTACHED flag is no longer necessary now we have an attached
count instead.
2018-08-18 20:08:52 +00:00
522d751eee Merge branch 'obsd-master' 2018-08-18 19:02:39 +01:00
3bc08b0dc0 Some tidying and helper functions. 2018-08-18 16:14:03 +00:00
af679326b2 Now master again. 2018-08-17 11:46:08 +01:00
aa6e6fa0f2 2.8. 2018-08-17 11:45:40 +01:00
9bdbe171b7 2.8-rc. 2018-08-17 11:31:16 +01:00
98a3c98c28 Merge branch 'obsd-master' 2018-08-17 11:20:20 +01:00
de2ddddd60 Add a full stop. 2018-08-17 10:30:04 +01:00
a9ffb56b65 Add the KEYC_XTERM flag to all function keys that imply a modifier so
that they are correctly translated into xterm(1)-style keys. GitHub
issue 1437.
2018-08-16 14:04:03 +00:00
14b97fc889 Add size to arguments struct too. 2018-08-14 11:38:05 +00:00
d0a600ccaa Some tidying, use a struct for arguments (there will be more later) and
add a helper function.
2018-08-14 11:31:34 +00:00
a368548645 Merge branch 'obsd-master' 2018-08-10 11:41:07 +01:00
13fe06a459 Update CHANGES. 2018-08-10 10:21:40 +01:00
87e87030fe Whoops, didn't mean to commit this. 2018-08-09 09:54:22 +00:00
a5ef1f2ed6 Bump the UTF-8 character array up to 18 to allow for more combining
characters (some languages use up to five). This size doesn't make as
much difference now that UTF-8 goes into an extended cell. GitHub issue
1430.
2018-08-09 09:53:44 +00:00
f5d7a80272 calloc the mode data instead of malloc and initialize everything. 2018-08-05 08:59:30 +00:00
33f9b316a3 Merge branch 'obsd-master' 2018-08-02 21:02:25 +01:00
d6ff630498 Log command arguments. 2018-08-02 18:35:21 +00:00
eceaa9a493 Merge branch 'obsd-master' 2018-08-02 15:02:25 +01:00
2e19a5ecb9 Merge branch 'obsd-master' 2018-08-02 13:02:26 +01:00
fb1f0fee5a session_groups can be static also. 2018-08-02 11:56:12 +00:00
6048b0f483 Make key trees and some other bits static. 2018-08-02 11:44:07 +00:00
f12b857415 Minor tidying. 2018-08-02 11:18:34 +00:00
79bdca4638 Merge branch 'obsd-master' 2018-08-02 11:02:25 +01:00