pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/misc/tmux



Module Name:    pkgsrc
Committed By:   ktnb
Date:           Wed Oct 21 19:22:45 UTC 2026

Modified Files:
        pkgsrc/misc/tmux: Makefile distinfo

Log Message:
tmux: update to 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;
  - 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.

* 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.

* 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.

* 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.

* Preserve existing Ss and Se terminfo capabilities for cursor styles
  and restoring the default cursor.

* Enable left and right margins for WezTerm and Ghostty.

* Add a #{A/count:frames} modifier to show a series of frames as an
  animation in the status line.

* 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.

* 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.

* Rectangle selection in copy mode may extend past the end of the
  current line to match vi's virtualedit=block behaviour.

* With mode-keys set to vi, scrolling in copy mode now keeps the
  cursor in the same position relative to the text.

* Copy mode no longer exits at the bottom while a selection is in
  progress.

* Add copy-mode-current-line-style to set the style of the line
  containing the cursor in copy mode.

* Copy mode word commands now recognise all Unicode whitespace
  characters; a space in word-separators matches any Unicode
  whitespace character.

* Add style attributes for dimming colours (dim=) and for hyperlinks
  (link= and nolink).

* 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.

* Allow server ACLs to use groups as well as users.

* 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.

* Fix grouped sessions sometimes being left as unusable command
  targets while they are being killed, and prevent reuse of a
  session with no windows while detaching.

* Free wait-for clients when they disconnect and do not run their
  remaining queued commands.

* Expand formats in run-shell -c like other start-directory flags.

* Fix session alert flag formats to check all windows.

* Do not clear the marked pane when clicking on a pane border.

* Fix choose mode filtering when more than one pane exists, 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.

* Fix regsub when the pattern is anchored at the start.

* 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, and misplaced wrapped lines during
  partial redraws.

* Do not crash looking for the next or previous session, or when
  no client is available.

* Fix crashes when destroying a zoomed pane, 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.


To generate a diff of this commit:
cvs rdiff -u -r1.70 -r1.71 pkgsrc/misc/tmux/Makefile
cvs rdiff -u -r1.63 -r1.64 pkgsrc/misc/tmux/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/misc/tmux/Makefile
diff -u pkgsrc/misc/tmux/Makefile:1.70 pkgsrc/misc/tmux/Makefile:1.71
--- pkgsrc/misc/tmux/Makefile:1.70      Wed May 27 22:38:36 2026
+++ pkgsrc/misc/tmux/Makefile   Wed Oct 21 19:22:45 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.70 2026/05/27 22:38:36 wiz Exp $
+# $NetBSD: Makefile,v 1.71 2026/10/21 19:22:45 ktnb Exp $
 
-DISTNAME=      tmux-3.6b
+DISTNAME=      tmux-3.8
 CATEGORIES=    misc
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=tmux/}
 GITHUB_RELEASE=        ${PKGVERSION_NOREV}

Index: pkgsrc/misc/tmux/distinfo
diff -u pkgsrc/misc/tmux/distinfo:1.63 pkgsrc/misc/tmux/distinfo:1.64
--- pkgsrc/misc/tmux/distinfo:1.63      Wed May 27 22:38:36 2026
+++ pkgsrc/misc/tmux/distinfo   Wed Oct 21 19:22:45 2026
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.63 2026/05/27 22:38:36 wiz Exp $
+$NetBSD: distinfo,v 1.64 2026/10/21 19:22:45 ktnb Exp $
 
-BLAKE2s (tmux-3.6b.tar.gz) = 236a2c65d7f18c6d22db3ede18236ae5898b6b5da0adc2fae25d5b5f0e6d0bbc
-SHA512 (tmux-3.6b.tar.gz) = 0dee1a6548496e5398cda98a7740139749f98fbbb8c9c539f81b18805a560529e4d7fee2b823748ec51935a83836ca502724fa759139f8db9514229004558192
-Size (tmux-3.6b.tar.gz) = 750261 bytes
+BLAKE2s (tmux-3.8.tar.gz) = eed0707570fbd22b3e94376bc102a9a9018ab1aeb206b108aad89b62f40c49e7
+SHA512 (tmux-3.8.tar.gz) = 8836978b4676d3d03d1eeedd7b6a55241eec400d44ab6b5a743fe053c52749a9f1d2cf32ef9b444e8ed8216c5577e2aecaa9663d2e693c4b95f6af638f21a872
+Size (tmux-3.8.tar.gz) = 895926 bytes
 SHA1 (patch-client.c) = 5fe1e0c82665b805573dab59c7f3faa5fc2c8abe
 SHA1 (patch-compat_imsg-buffer.c) = a4946b98414a0fbd8d3799f2622c5e736bb90833
 SHA1 (patch-compat_queue.h) = a65435dedb40f653f3c2650a6d2189743f5a6dcd



Home | Main Index | Thread Index | Old Index