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

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

Branch: CURRENT, Version: 2.5, Package name: tmux-2.5, 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: 245766fc2830e7066ac153d147d403f8b92d8266
RMD160: c4b10cb03326fffece5dcb76b94938b5a7a2a645
Filesize: 464.567 KB

Version history: (Expand)

CVS history: (Expand)

   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.
   2016-05-09 14:39:05 by Filip Hajny | Files touched by this commit (6) | Package updated
Log message:
Update misc/tmux to 2.2.
Use release tarballs instead of tagged archives, simplifies
patching and rids us of automake dep.

CHANGES FROM 2.1 to 2.2 10 April 2016

Incompatible Changes

* The format strings which referenced time have been removed.


can be used.

* Support for TMPDIR has been removed.  Use TMUX_TMPDIR instead.
  UTF8 detection how happens automatically if the client supports
  it, hence the:


  options has been removed.

* The:


  format string has been removed.

* The -I option to show-messages has been removed.  See:


  format option instead.

Normal Changes

* Panes are unzoomed with selectp -LRUD
* New formats added:

  #{=10:...} -- limit to N characters (from the start)
  #{=-10:...} -- limit to N characters (from the end)
  #{t:...} -- used to format time-based formats
  #{b:...} -- used to ascertain basename from string
  #{d:...} -- used to ascertain dirname from string
  #{s:...} -- used to perform substitutions on a string

* Job output is run via the format system, so formats work again
* If display-time is set to 0, then the indicators wait for a key
  to be pressed.
* list-keys and list-commands can be run without starting the tmux
* kill-session learns -C to clear all alerts in all windows of the
* Support for hooks (internal for now), but hooks for the
  following have been implemented:


* RGB (24bit) colour support.  The 'Tc' flag must be set in the
  external TERM entry (using terminal-overrides or a custom terminfo entry).