From a1d25b2816edaeed26fd312a1370dd7121a7c6d3 Mon Sep 17 00:00:00 2001 From: nicm Date: Tue, 6 Oct 2026 07:57:41 +0000 Subject: [PATCH 1/2] Redraw selections after scrolling to line boundaries, GitHub issue 5689 from bugreporter23 at gmail dot com. --- window-copy.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/window-copy.c b/window-copy.c index 8572a100f..181f1d151 100644 --- a/window-copy.c +++ b/window-copy.c @@ -1,4 +1,4 @@ -/* $OpenBSD: window-copy.c,v 1.433 2026/10/05 15:52:25 nicm Exp $ */ +/* $OpenBSD: window-copy.c,v 1.434 2026/10/06 07:57:41 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -7254,13 +7254,16 @@ static void window_copy_acquire_cursor_up(struct window_mode_entry *wme, u_int hsize, u_int oy, u_int oldy, u_int px, u_int py) { + struct window_copy_mode_data *data = wme->data; u_int cy, yy, ny, nd; yy = hsize - oy; if (py < yy) { ny = yy - py; cy = 0; - nd = 1; + nd = oldy + ny + 1; + if (nd > screen_size_y(&data->screen)) + nd = screen_size_y(&data->screen); } else { ny = 0; cy = py - yy; @@ -7286,8 +7289,8 @@ window_copy_acquire_cursor_down(struct window_mode_entry *wme, u_int hsize, yy = sy - 1; if (cy > yy) { ny = cy - yy; - oldy = yy; - nd = 1; + oldy = oldy > ny ? oldy - ny : 0; + nd = sy - oldy; } else { ny = 0; nd = cy - oldy + 1; From d6237b5b8782dc179982f3eb5b1189c995d689f8 Mon Sep 17 00:00:00 2001 From: nicm Date: Tue, 6 Oct 2026 08:01:54 +0000 Subject: [PATCH 2/2] Improve text about status lines, GitHub issue 5677. --- tmux.1 | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/tmux.1 b/tmux.1 index 2423756d9..c94737f6c 100644 --- a/tmux.1 +++ b/tmux.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: tmux.1,v 1.1174 2026/09/25 13:44:49 nicm Exp $ +.\" $OpenBSD: tmux.1,v 1.1175 2026/10/06 08:01:54 nicm Exp $ .\" .\" Copyright (c) 2007 Nicholas Marriott .\" @@ -14,7 +14,7 @@ .\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING .\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: September 25 2026 $ +.Dd $Mdocdate: October 6 2026 $ .Dt TMUX 1 .Os .Sh NAME @@ -4678,6 +4678,9 @@ flag unsets an option, so a session inherits the option from the global options (or with .Fl g , restores a global option to the default). +For an array option given with a key, +.Fl u +removes only that item. .Fl U unsets an option (like .Fl u ) @@ -5543,8 +5546,18 @@ or more rows. .It Ic status\-format[] Ar format Specify the format to be used for each line of the status line. -The default builds the top status line from the various individual status -options below. +The default first status line is built from the various individual status +options below, the second shows the panes in the current window and the third +the sessions. +A default line may be extended rather than replaced by saving its default value +in a user option and expanding that in the new value, for example: +.Bd -literal -offset indent +set \-g status 2 +set \-gu status\-format # start with default status line +set \-gF @old_status_format1 "#{status\-format[1]}" +set \-g status\-format[1] "#{E:@old_status_format1}#[nolist align=right]#{pane_current_path}" +.Ed +.Pp .It Ic status\-interval Ar interval Update the status line every .Ar interval