./misc/tmux, BSD-licensed terminal multiplexer (GNU Screen alternative)

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 2.6, Package name: tmux-2.6, Maintainer: pkgsrc-users

Tmux is a "terminal multiplexer", it enables a number of terminals
(or windows) to be accessed and controlled from a single terminal.
Tmux is intended to be a simple, modern, BSD-licensed alternative
to programs such as GNU screen.

Required to build:

Master sites:

SHA1: 6dbbd52c0fb356231c04f889bdd83ceff061a20a
RMD160: 32aa9e62fe5a0a6a11c4b3877a4e8e07381201f9
Filesize: 469.727 KB

Version history: (Expand)

CVS history: (Expand)

   2017-10-10 13:17:32 by Leonardo Taccari | Files touched by this commit (2) | Package updated
Log message:
tmux: Update misc/tmux to 2.6

CHANGES FROM 2.5 TO 2.6, 05 October 2017
* Add select-pane -T to set pane title.
* Fix memory leak when lines with BCE are removed from history.
* Fix (again) the "prefer unattached" behaviour of attach-session.
* Reorder how keys are checked to allow keys to be specified that have a
  leading escape. GitHub issue 1048.
* Support REP escape sequence (\033[b).
* Run alert hooks based on options rather than always, and allow further bells
  even if there is an existing bell.
* Add -d flag to display-panes to override display-panes-time.
* Add selection_present format when in copy mode (allows key bindings that do
  something different if there is a selection).
* Add pane_at_left, pane_at_right, pane_at_top and pane_at_bottom formats.
* Make bell, activity and silence alerting more consistent by: removing the
  bell-on-alert option; adding activity-action and silence-action options with
  the same possible values as the existing bell-action; adding a \ 
"both" value
  for the visual-bell, visual-activity and visual-silence options to trigger
  both a bell and a message.
* Add a pane_pipe format to show if pipe-pane is active.
* Block signals between forking and resetting signal handlers so that the
  libevent signal handler doesn't get called in the child and incorrectly write
  into the signal pipe that it still shares with the parent. GitHub issue 1001.
* Allow punctuation in pane_current_command.
* Add -c for respawn-pane and respawn-window.
* Wait for any remaining data to flush when a pane is closed while pipe-pane is
  in use.
* Fix working out current client with no target. GitHub issue 995.
* Try to fallback to C.UTF-8 as well as en_US.UTF-8 when looking for a UTF-8
* Add user-keys option for user-defined key escape sequences (mapped to User0
  to User999 keys).
* Add pane-set-clipboard hook.
* FAQ file has moved out of repository to online.
* Fix problem with high CPU usage when a client dies unexpectedly. GitHub issue
* Do a dance on OS X 10.10 and above to return tmux to the user namespace,
  allowing access to the clipboard.
* Do not allow escape sequences which expect a specific terminator (APC, DSC,
  OSC) to wait for forever - use a small timeout. This reduces the chance of
  the pane locking up completely when sent garbage (cat /dev/random or
* Support SIGUSR2 to toggle logging on a running server, also generate the
  "out" log file with -vv not -vvvv.
* Make set-clipboard a three state option: on (tmux both sends to outside
  terminal and accepts from applications inside); external (tmux sends outside
  but does not accept inside); and off.
* Fix OSC 4 palette setting for bright foreground colours. GitHub issue 954.
* Use setrgbf and setrgbb terminfo(5) capabilities to set RGB colours, if they
  are available. (Tc is still supported as well.)
* Fix redrawing panes when they are resized several times but end up with the
  size unchanged (for example, splitw/resizep -Z/breakp).
* Major rewrite of choose mode. Now includes preview, sorting, searching and
  tagging; commands that can be executed directly from the mode (for example,
  to delete one or more buffers); and filtering in tree mode.
* choose-window and choose-session are now aliases of choose-tree (in the
  command-alias option).
* Support OSC 10 and OSC 11 to set foreground and background colours.
* Check the U8 capability to determine whether to use UTF-8 line drawing
  characters for ACS.
* Some missing notifications for layout changes.
* Control mode clients now do not affect session sizes until they issue
  refresh-client -C. new-session -x and -y works with control clients even if
  the session is not detached.
* All new sessions that are unattached (whether with -d or started with no
  terminal) are now created with size 80 x 24. Whether the status line is on or
  off does not affect the size of new sessions until they are attached.
* Expand formats in option names and add -F flag to expand them in option values.
* Remember the search string for a pane even if copy mode is exited and entered
* Some further BCE fixes (scroll up, reverse index).
* Improvements to how terminals are cleared (entirely or partially).
   2017-06-06 11:41:18 by Filip Hajny | Files touched by this commit (2) | Package updated
Log message:
Update misc/tmux to 2.5.

CHANGES FROM 2.4 to 2.5 09 May 2017

- Reset updated flag when restarting #() command so that new output is
  recognised. GitHub issue 922.
- Fix ECH with a background colour.
- Do not rely on the terminal not moving the cursor after DL or EL.
- Fix send-keys and send-prefix in copy-mode (so C-b C-b works).
- Set the current pane for rotate-window so it works in command
- Add pane_mode format.
- Differentiate M-Up from Escape+Up when possible (that is, in
  terminals with xterm(1) style function keys). GitHub issue 907.
- Add session_stack and window_stack_index formats.
- Some new control mode notifications and corresponding hooks:
  pane-mode-changed, window-pane-changed, client-session-changed,
- Format pane_search_string for last search term while in copy mode
  (useful with command-prompt -I).
- Fix a problem with high CPU usage and multiple clients with #().
- Fix UTF-8 combining characters in column 0.
- Fix reference counting so that panes are properly destroyed and
  their processes killed.
- Clamp SU (CSI S) parameter to work around a bug in Konsole.
- Tweak line wrapping in full width panes to play more nicely with
  terminal copy and paste.
- Fix when we emit SGR 0 in capture-pane -e.
- Do not change TERM until after config file parsing has finished, so
  that commands run inside the config file can use it to make decisions
  (typically about default-terminal).
- Make the initial client wait until config file parsing has finished
  to avoid racing with commands.
- Fix core when if-shell fails.
- Only use ED to clear screen if the pane is at the bottom.
- Fix multibyte UTF-8 output.
- Code improvements around target (-t) resolution.
- Change how the default target (for commands without -t) is managed
  across command sequences: now it is set up at the start and commands
  are required to update it if needed. Fixes binding command sequences
  to mouse keys.
- Make if-shell from the config file work correctly.
- Change to always check the root key table if no binding is found in
  the current table (prefix table or copy-mode table or whatever). This
  means that root key bindings will take effect even in copy mode, if not
  overridden by a copy mode key binding.
- Fix so that the history file works again.
- Run config file without a client rather than using the first client,
  restores previous behaviour.
- If a #() command doesn't exit, continue to read from it and use its
  last full line of output.
- Handle slow terminals and fast output better: when the amount of
  data outstanding gets too large, discard output until it is drained and
  we are able to do a full redraw. Prevents tmux sitting on a huge buffer
  that the terminal will take forever to consume.
- Do not redraw a client unless we realistically think it can accept
  the data - defer redraws until the client has nothing else waiting to write.
   2017-04-27 12:29:26 by Leonardo Taccari | Files touched by this commit (1)
Log message:
It is no longer needed to add -D_OPENBSD_SOURCE to CPPFLAGS for
reallocarray(3) in NetBSD, fixed in tmux-2.4 by upstream (NFC).
   2017-04-21 13:55:37 by Filip Hajny | Files touched by this commit (3) | Package updated
Log message:
Update misc/tmux to 2.4.

Incompatible Changes

* Key tables have undergone major changes. Mode key tables are no longer
  separate from the main key tables. All mode key tables have been removed,
  together with the -t flag to bind-key and unbind-key.

  The emacs-edit, vi-edit, emacs-choose and vi-choose tables have been replaced
  by fixed key bindings in the command prompt and choose modes. The mode-keys
  and status-keys options remain.

  The emacs-copy and vi-copy tables have been replaced by the copy-mode and
  copy-mode-vi tables. Commands are sent using the -X and -N flags to
  send-keys. So the following:

    bind -temacs-copy C-Up scroll-up
    bind -temacs-copy -R5 WheelUpPane scroll-up


    bind -Tcopy-mode C-Up send -X scroll-up
    bind -Tcopy-mode WheelUpPane send -N5 -X scroll-up

  These changes allows the full command parser (including command sequences) and
  command set to be used - for example, the normal command prompt with editing
  and history is now used for searching, jumping, and so on instead of a custom
  one. The default C-r binding is now:

    bind -Tcopy-mode C-r command-prompt -p'search up' "send -X \ 
search-backward '%%'"

  There are also some new commmands available with send -X, such as
* set-remain-on-exit has gone -- can be achieved with hooks instead.
* Hooks: before hooks have been removed and only a selection of commands now
  have after hooks (they are no longer automatic). Additional hooks have been
* The xterm-keys option now defaults to on.

Normal Changes

* Support for mouse double and triple clicks.
* BCE (Background Colour Erase) is now supported.
* All occurrences of a search string in copy mode are now highlighted;
  additionally, the number of search results is displayed. The highlighting
  updates interactively with the default emacs key bindings (incremental
* source-file now understands glob patterns.
* Formats now have simple comparisons:


* There are the following new formats:

  - #{version} -- the tmux server version;
  - #{client_termtype} -- the terminal type of the client;
  - #{client_name} -- the name of a client;
  - #{client_written} -- the number of bytes written to the client.

* The configuration file now accepts %if/%endif conditional blocks which are
  processed when it is parsed; the argument is a format string (useful with the
  new format comparison options).
* detach-client now has -E to execute a command replacing the client instead of
* Add support for custom command aliases, this is an array option which
  contains items of the form "alias=command". This is consulted when an
  unknown command is parsed.
* break-pane now has -n to specify the new window name.
* OSC 52 support has been added for programs inside tmux to set a tmux buffer.
* The mouse "all event" mode (1003) is now supported.
* Palette setting is now possible (OSC 4 and 104).
* Strikethrough support (a recent terminfo is required).
* Grouped sessions can now be named (new -t).
* terminal-overrides and update-environment are now array options (the previous
  set -ag syntax should work without change).
* There have been substantial performance improvements.
   2016-10-13 09:48:59 by Leonardo Taccari | Files touched by this commit (1)
Log message:
Whoops, next tmux version will be 2.4!

Thanks a lot to <wiz> for spotting my mistake.
   2016-10-12 12:11:23 by Leonardo Taccari | Files touched by this commit (1)
Log message:
NetBSD needs -D_OPENBSD_SOURCE for reallocarray(3). Pass it via CPPFLAGS.NetBSD.

   2016-10-04 12:42:47 by Filip Hajny | Files touched by this commit (1) | Package updated
Log message:
Use curses instead of terminfo, pure terminfo seems to have been
dropped in configure in 2.3. Bump PKGREVISION for safety.
   2016-10-02 11:12:50 by Filip Hajny | Files touched by this commit (2) | Package updated
Log message:
Update misc/tmux to 2.3.

Incompatible Changes


Normal Changes

- New option 'pane-border-status' to add text in the pane borders.
- Support for hooks on commands: 'after' and 'before' hooks.
- 'source-file' understands '-q' to suppress errors for
  nonexistent files.
- Lots of UTF8 improvements, especially on MacOS.
- 'window-status-separator' understands #[] expansions.
- 'split-window' understands '-f' for performing a full-width
- Allow report count to be specified when using 'bind-key -R'.
- 'set -a' for appending to user options (@foo) is now supported.
- 'display-panes' can now accept a command to run, rather than
  selecting the pane.