From patchwork Thu Oct 15 17:23:48 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adolf Belka X-Patchwork-Id: 10393 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (Client CN "mail01.haj.ipfire.org", Issuer "YR1" (not verified)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4j5FLH23p5z3xfV for ; Thu, 15 Oct 2026 17:24:23 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (Client CN "mail02.haj.ipfire.org", Issuer "YE2" (not verified)) by mail01.ipfire.org (Postfix) with ESMTPS id 4j5FLG68pKz6ls for ; Thu, 15 Oct 2026 17:24:22 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [IPv6:::1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4j5FL25DDVz378h for ; Thu, 15 Oct 2026 17:24:10 +0000 (UTC) X-Original-To: development@lists.ipfire.org Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (Client CN "mail01.haj.ipfire.org", Issuer "YR1" (not verified)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4j5FKs0djsz36XH for ; Thu, 15 Oct 2026 17:24:01 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4j5FKp0p4gz88p; Thu, 15 Oct 2026 17:23:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1792085038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=kWjnMr9RSgTtty8qEM9XLqsY8EV8X7k2V2pyIgBrBg0=; b=b2K1a53OAT4Ek6WeKFGMfddUSjyT0XzGZ/luG3q/W+v5/DJFqTsZfhhKJfw9pbpBWYXOYB ki+6fHOPLrz16G1VPIrawXYrTovnpi00qgG8T1v10pbgGZ5gzNbMlti1RnZ2HUlcZalmbd njxpYviTPGLPA+a1V8c6Jd1LeNtkIRirICxE7GbwbPQg319bJZ2NGatNh/QAtG/fBYzMjG THrFrvDVHf9JSdY68HbYk+b8EIEo+ttvziUMnsEQCtFnbcrm3WJAU9AK/lY14n33eLF9JW E/N/NGV/Lih8iR+Tfhu0Ow32QPMqFNVxqG3y+u/SgrOAqeZAKi3kXcFAjp7M0w== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1792085038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=kWjnMr9RSgTtty8qEM9XLqsY8EV8X7k2V2pyIgBrBg0=; b=gpgd8skXyIGREDvrY9iNpXKf7sEaVivIm3XdSvWqjsEaUvPGq3iR4jvEjWn7MQ65tfsu0A 1tWeoVFpujNDNgAQ== From: Adolf Belka To: development@lists.ipfire.org Cc: Adolf Belka Subject: [PATCH] tmux: Update to version 3.8 Date: Thu, 15 Oct 2026 19:23:48 +0200 Message-ID: <20261015172349.3449498-18-adolf.belka@ipfire.org> In-Reply-To: <20261015172349.3449498-1-adolf.belka@ipfire.org> References: <20261015172349.3449498-1-adolf.belka@ipfire.org> Precedence: list List-Id: List-Subscribe: , List-Unsubscribe: , List-Post: List-Help: Sender: Mail-Followup-To: MIME-Version: 1.0 - Update from version 3.7c to 3.8 - No change in rootfile - Changelog 3.8 * Many improvements to floating panes: - new-pane and split-window can now set the title with -T and border lines with -B, and new-pane -W waits for the pane command to exit; - dragging with Ctrl now creates a new floating pane; - modal panes may be created with new-pane -O; a window can have one modal pane and it prevents interaction with the other panes while it is active. -C closes the pane when the mouse is clicked outside it and -K sends all keys, including the prefix key, to the pane. -D closes the modal pane with Escape or C-c. A modal pane is now used for the editor in buffer mode; - new-pane -A creates a floating pane which remains above a zoomed pane; modal panes do this by default; - move-pane and resize-pane can now move and resize floating panes, including mouse dragging; - split-window in a floating pane creates a new floating pane that does not overlap the active pane, if possible; - break-pane can float a tiled pane, join-pane can tile a floating pane, and swap-pane works with floating panes; - choose-tree -h and choose-client -h hide the pane containing the mode, and -k for choose commands kills the pane when the mode exits, which is useful for modes in floating panes; - command-prompt -P opens a prompt inside a pane rather than on the status line; - pane-border-status has top-floating and bottom-floating, and there are new default bindings under C-b g for common move and resize operations. * Layout strings now use a JSON subset format which includes floating panes. The old format is still accepted; control mode clients receive old layouts unless they set the new-layouts flag. * Add remain-on-exit failed-key to keep a pane open after a failed command until a key is pressed. * Add support for themes and improve default colours: - tmux now has builtin light and dark colour themes for terminals with 256 or more colours; a new theme option controls whether tmux detects the terminal theme, uses terminal colours, or forces light or dark (set to terminal for the old colours); - styles can use new theme colour names such as themeblack, themewhite and themegreen, and colours in styles are expanded as formats; - the terminal's own theme is reported to panes instead of being guessed from the background, and inferred more accurately when theme reporting is not supported (Ayman Bagabas, issue 5343); - tree-mode-selection-style has been added, tree mode selection styling now covers the whole line, and built-in modes use improved theme colours. * Improvements to customize mode: - hooks and environment variables are now shown; - e opens the selected value in an editor; - C toggles showing only changed items; - array item keys can now be changed. * Hooks (and control mode notifications) are now handled internally by using events, each of which may carry keys and values as a payload. The control mode subscriptions mechanism has been extended to allow general-purpose "monitors" which check a format every second and trigger a hook when it changes or becomes true: - set-hook -B adds a monitor hook using the same subscription syntax as refresh-client -B, and show-hooks -B lists them. -T runs the hook only when the format is true; - wait-for -E waits for hooks, notifications or user events, and set-hook -E fires an event immediately; - hooks have additional keys available. wait-for -v can be used to see the keys sent with a hook event; - new hooks to cover areas including client create and destroy, pane activity, pane mode and prompt changes, pane movement and resizing, session group changes and window creation, close, swap and zoom; - OSC 133 escape sequences now trigger events: pane-command-started, pane-command-finished and pane-shell-prompt. * Add switch-mode, a fast switcher bound by default to Tab for windows and BTab (S-Tab) for sessions. * Pane scrollbars now support auto-hide. This replaces the previous modal behaviour where the pane was resized. With auto-hide, the scrollbar appears while scrolling or while hovered and disappears after pane-scrollbars-timeout (Michael Grant). * Add a clear-on-attach server option. When disabled, tmux does not enter the alternate screen on attach and instead scrolls the existing terminal content into the scrollback buffer so it remains accessible (issue 5508). * Copy mode can now automatically refresh as pane content changes with the refresh-on, refresh-off and refresh-toggle commands. Automatic refresh is off by default; refresh-now refreshes once and is bound to r. These replace refresh-from-pane (issue 5165). * Extend the fill-character option so both inside and outside the window can be changed, with a new default for unused areas inside the window. * Change show-options and show-hooks to use formats and add a -F flag to each. * Allow individual terminal features to be disabled by adding @ to their names in terminal-features, and add a utf8 feature for terminals which support UTF-8 output. * Add an appesc terminal feature for mintty's application escape key mode, avoiding unsupported sequences on other terminals (Pete Dietl, issue 5626). * Preserve existing Ss and Se terminfo capabilities for cursor styles and restoring the default cursor (issue 5476). * Enable left and right margins for WezTerm and Ghostty (Michael Grant). * Add a #{A/count:frames} modifier to show a series of frames as an animation in the status line (issue 5412 from Fernando Daciuk). * Change command templates so %% is escaped for single quotes while %1 remains unquoted, preventing single quotes in session or target names from terminating quoted command sections (reported by Aliz Hammond). * display-panes is now a mode rather than an overlay, and can be run inside another pane. The -b flag has been removed. * Add new-window -E, respawn-pane -E and respawn-window -E as more convenient methods to create an empty pane (rather than using '' for the command). * Add capture-pane -I to include the time each line entered history. * Various memory leak fixes from Heon Jeong. * Add a default C-b T binding to change the current pane title. * Menus now belong to the window, so appear on all clients. * Dragging over an existing copy mode selection now adjusts it (Michael Grant). * Rectangle selection in copy mode may extend past the end of the current line to match vi's virtualedit=block behaviour (Mark Kelly, issue 5227). * With mode-keys set to vi, scrolling in copy mode now keeps the cursor in the same position relative to the text (Arseniy Simonov, issue 5216). * Copy mode no longer exits at the bottom while a selection is in progress (issue 5349). * Add copy-mode-current-line-style to set the style of the line containing the cursor in copy mode (issue 5391). * Copy mode word commands now recognise all Unicode whitespace characters; a space in word-separators matches any Unicode whitespace character (issue 5562). * Add style attributes for dimming colours (dim=) and for hyperlinks (link= and nolink) (issues 4842 and 4280 from Moritz Angermann). * New format modifiers: O: loops over options, V: loops over environments, the I modifier reports client terminal information, t/d gives a time difference in seconds, c/f and c/b emit colours, and the m operator supports multiple terms and fuzzy matching. * Add or improve format variables including client_colours, pane_start_command_list, window_manual_width, window_manual_height, pane_last_output_time, pane_modal_flag, window_modal_pane, pane_private_modes, pane_output_generation, history_added, history_collected, history_generation, hook_fire_count and hook_fire_time. * Add additional pane sort orders, and a z sort order for choose-tree so floating panes can be sorted by z-index. * Add -f filters to kill-pane -a, kill-window -a and kill-session -a (issue 4782). * Allow server ACLs to use groups as well as users (issue 4917). * The mouse option now defaults to on. * The active-pane client flag has been removed. * Fix send-keys -K so keys are inserted in the correct place in the input queue, like keys from key bindings (issue 3476). * Fix control mode clients hanging on exit if pty data was still queued (Ben Maurer, issue 5356), and avoid sending notifications to clients which are already exiting (Ben Maurer, issue 5357). Queue notifications so they are not sent inside %begin/%end (issue 5458), do not let a stuck client prevent the server from exiting (issue 5444), and reset control mode offsets when a pane is respawned (issue 5498). Bound buffered command replies so a control mode client that stops reading cannot consume unlimited memory (issue 5565), and fix a collision between the output discard and bracketed paste flags (issue 5622). * Fix grouped sessions sometimes being left as unusable command targets while they are being killed (Bryce Miller, issue 5180), and prevent reuse of a session with no windows while detaching (Heon Jeong, issue 5620). * Free wait-for clients when they disconnect and do not run their remaining queued commands (issue 5614). * Expand formats in run-shell -c like other start-directory flags (reported by Saul Nogueras). * Fix session alert flag formats to check all windows (issue 5599). * Do not clear the marked pane when clicking on a pane border. * Fix choose mode filtering when more than one pane exists (issue 5326), and fix an infinite loop in customize mode when a filter does not match. * Preserve the scroll position in tree modes when rebuilding the list (Kim A Brandt, issue 5631). * Fix regsub when the pattern is anchored at the start (issue 5341). * Fix redraw issues around synchronized updates, copy mode, tabs, padding, status lines, menus, popups, wide characters and floating panes. This includes fixes for flicker with alternate screen applications and scrollbars (Michael Grant, issue 5351; Noam Stolero, issue 5350; Aung Myo Kyaw, issue 5098), and misplaced wrapped lines during partial redraws (Ben Maurer, issue 5625). * Do not crash looking for the next or previous session (issue 5344), or when no client is available. * Fix crashes when destroying a zoomed pane (Romain Francoise, issue 5591), copying from a blank source pane (Kaixuan Li), or opening a mode prompt when the client is offset into the window. * Avoid an infinite loop when assigning a width to WCHAR_MAX (issue 5602). Signed-off-by: Adolf Belka --- lfs/tmux | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lfs/tmux b/lfs/tmux index 38134d6b3..f4818b430 100644 --- a/lfs/tmux +++ b/lfs/tmux @@ -26,7 +26,7 @@ include Config SUMMARY = Terminal multiplexer -VER = 3.7c +VER = 3.8 THISAPP = tmux-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -34,7 +34,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = tmux -PAK_VER = 19 +PAK_VER = 20 DEPS = @@ -48,7 +48,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_BLAKE2 = 854a27ad7fd2326057c516e60a88219548bbbf7001c01d1b64b83289b22c923a8b4c94f48971381d88cd8a6c9a15084c253742dfb155dd6e32aee97b78f9f68c +$(DL_FILE)_BLAKE2 = 5a6ff93e78dd4380fa0769ac76de25365b326dce3403a71eb74f218c124f17b8d27504a7d89985db6fb4d1d0321815657ffc40212a58257363b315515581a82f install : $(TARGET)