2008-12-05 21:04:06 +01:00
|
|
|
02 December 2008
|
|
|
|
|
|
|
|
* Add support for including the window title in status-left or status-right
|
|
|
|
strings by including the character pair "#T". This may be prefixed with
|
|
|
|
a number to specify a maximum length, for example "#24T" to use at most
|
|
|
|
24 characters of the title.
|
|
|
|
* Introduce two new options, status-left-length and status-right-length,
|
|
|
|
control the maximum length of left and right components of the status bar.
|
|
|
|
* elinks (and possibly others) bypass the terminal and talk directly to X to
|
|
|
|
restore the window title when exiting. tmux can't know about this particular
|
|
|
|
bit of stupidity so the title ends up strange - the prefix isn't terribly
|
|
|
|
important and elinks is quite useful so just get rid of it.
|
|
|
|
|
2008-11-27 19:55:47 +01:00
|
|
|
27 November 2008
|
|
|
|
|
|
|
|
* Tweaks to support Dragonfly.
|
|
|
|
|
|
|
|
17 November 2008
|
|
|
|
|
|
|
|
* tmux 0.5 released.
|
|
|
|
|
2008-11-16 11:10:26 +01:00
|
|
|
16 November 2008
|
|
|
|
|
2008-11-16 14:28:59 +01:00
|
|
|
* New window option: "utf8"; this must be on (it is off by default) for UTF-8
|
|
|
|
to be parsed. The global/session option "utf8-default" controls the setting
|
|
|
|
for new windows.
|
|
|
|
|
|
|
|
This means that by default tmux does not handle UTF-8. To use UTF-8 by
|
|
|
|
default it is necessary to a) "set utf8-default on" in .tmux.conf b) start
|
|
|
|
tmux with -u on any terminal which support UTF-8.
|
|
|
|
|
|
|
|
It seems a bit unnecessary for this to be a per-window option but that is
|
|
|
|
the easiest way to do it, and it can't do any harm...
|
2008-11-16 11:10:26 +01:00
|
|
|
* Enable default colours if op contains \033[39;49m, based on a report from
|
|
|
|
fulvio ciriaco.
|
|
|
|
|
|
|
|
12 November 2008
|
|
|
|
|
|
|
|
* Keep stack of last windows rather than just most recent; based on a diff from
|
|
|
|
joshe.
|
|
|
|
|
2008-11-04 21:55:58 +01:00
|
|
|
04 November 2008
|
|
|
|
|
|
|
|
* Don't try to redraw status line when showing a prompt or message; if it does,
|
|
|
|
the status timer is never reset so it redraws on every loop. Spotted by
|
|
|
|
joshe.
|
|
|
|
|
2008-10-09 23:22:16 +02:00
|
|
|
09 October 2008
|
|
|
|
|
2008-10-10 00:00:33 +02:00
|
|
|
* Translate 256 colours into 16 if 256 is not available, same as screen does.
|
2008-10-09 23:22:16 +02:00
|
|
|
* Better support for OSC command (only to set window title now), and also
|
|
|
|
support using APC for the same purpose (some Linux default shell profiles do
|
|
|
|
this).
|
|
|
|
|
2008-09-25 22:08:57 +02:00
|
|
|
25 September 2008
|
|
|
|
|
|
|
|
* Large internal rewrite to better support 256 colours and UTF-8. Screen data
|
|
|
|
is now stored as single two-way array of structures rather than as multiple
|
|
|
|
separate arrays. Also simplified a lot of code.
|
|
|
|
|
|
|
|
Only external changes are three new flags, -2, -d and -u, which force tmux to
|
|
|
|
assume the terminal supports 256 colours, default colours (useful for
|
|
|
|
xterm-256color which lacks the AX flag), or UTF-8 respectively.
|
|
|
|
|
2008-09-10 20:59:29 +02:00
|
|
|
10 September 2008
|
|
|
|
|
|
|
|
* Split off colour conversion code from screen code.
|
|
|
|
|
2008-09-10 00:16:37 +02:00
|
|
|
09 September 2008
|
|
|
|
|
|
|
|
* Initial UTF-8 support. A bit ugly and with a limit of 4096 UTF-8
|
|
|
|
characters per window.
|
|
|
|
|
2008-09-08 19:40:51 +02:00
|
|
|
08 September 2008
|
|
|
|
|
|
|
|
* 256 colour support. tmux attempts to autodetect the terminal by looking
|
|
|
|
both at what ncurses reports (usually wrong for xterm) and checking if
|
|
|
|
the TERM contains "256col". For xterm TERM=xterm-256color is needed (as
|
|
|
|
well as a build that support 256 colours); this seems to work for rxvt
|
|
|
|
as well. On non-256 colour terminals, high colours are translated to white
|
|
|
|
foreground and black background.
|
|
|
|
|
2008-08-28 19:45:30 +02:00
|
|
|
28 August 2008
|
|
|
|
|
|
|
|
* Support OS X/Darwin thanks to bsd-poll.c from OpenSSH. Also convert
|
|
|
|
from clock_gettime(2) to gettimeofday(2) as OS X doesn't support the
|
|
|
|
former; microsecond accuracy will have to be sufficient ;-).
|
|
|
|
|
2008-08-07 22:20:52 +02:00
|
|
|
07 August 2008
|
|
|
|
|
|
|
|
* Lose some unused/useless wrapper functions.
|
|
|
|
|
2008-07-25 19:20:40 +02:00
|
|
|
25 July 2008
|
|
|
|
|
|
|
|
* Shell variables may now be defined and used in configuration file. Define
|
|
|
|
variables with:
|
|
|
|
|
|
|
|
VAR=1
|
|
|
|
|
|
|
|
And use with:
|
|
|
|
|
|
|
|
renamew ${VAR}
|
|
|
|
renamew "x${VAR}x"
|
|
|
|
|
|
|
|
Also some other fixes to make, for example, "abc""abc" work similarly to
|
|
|
|
the shell.
|
|
|
|
|
2008-07-24 01:44:50 +02:00
|
|
|
24 July 2008
|
|
|
|
|
2008-07-24 23:42:40 +02:00
|
|
|
* Finally lose inconsistently-used SCREEN_DEF* defines.
|
|
|
|
* If cursor mode is on, switch the arrow keys from \033[A to \033OA.
|
|
|
|
* Support the numeric keypad in both application and numbers mode. This is
|
|
|
|
different from screen which always keeps it in application mode.
|
2008-07-24 01:44:50 +02:00
|
|
|
|
2008-07-19 12:07:50 +02:00
|
|
|
19 July 2008
|
|
|
|
|
|
|
|
* Unbreak "set status" - tmux thought it was ambiguous, reported by rivo nurges.
|
|
|
|
|
2008-07-02 23:22:57 +02:00
|
|
|
02 July 2008
|
|
|
|
|
|
|
|
* Split vi and emacs mode keys into two tables and add an option (mode-keys)
|
|
|
|
to select between them. Default is emacs, use,
|
|
|
|
|
|
|
|
tmux set mode-keys vi
|
|
|
|
|
|
|
|
to change to vi.
|
|
|
|
|
|
|
|
vi mode uses space to start selection, enter to copy selection and escape
|
|
|
|
to clear selection.
|
|
|
|
|
2008-07-01 07:43:01 +02:00
|
|
|
01 July 2008
|
|
|
|
|
2008-07-01 21:47:02 +02:00
|
|
|
* Protocol versioning. Clients which identify as a different version from the
|
|
|
|
server will be rejected.
|
2008-07-01 07:43:01 +02:00
|
|
|
* tmux 0.4 released.
|
|
|
|
|
2008-06-29 09:04:31 +02:00
|
|
|
29 June 2008
|
|
|
|
|
|
|
|
* Zombie windows. These are not closed when the child process dies. May be
|
|
|
|
set for a window with the new "remain-on-exit" option; the default setting
|
|
|
|
of this flag for new windows may be set with the "remain-by-default" session
|
|
|
|
option.
|
|
|
|
|
|
|
|
A window may be restarted with the respawn-window command:
|
|
|
|
|
|
|
|
respawn-window [-k] [command]
|
2008-09-26 08:45:28 +02:00
|
|
|
|
2008-06-29 09:04:31 +02:00
|
|
|
If -k is given, any existing process running in the window is killed;
|
|
|
|
if command is omitted, the same command as when the window was first
|
|
|
|
created is used.
|
|
|
|
|
2008-06-27 19:10:01 +02:00
|
|
|
27 June 2008
|
|
|
|
|
|
|
|
* Handle nonexistent session or client to -t properly.
|
|
|
|
|
2008-06-25 09:30:08 +02:00
|
|
|
25 June 2008
|
|
|
|
|
2008-06-25 22:43:14 +02:00
|
|
|
* select-prompt command to allow a window to be selected at a prompt. Only
|
|
|
|
windows in the current session may be selected. Bound to ' by default.
|
|
|
|
Suggested by merdely.
|
|
|
|
* move-window command. Requested by merdely.
|
2008-06-25 22:33:20 +02:00
|
|
|
* Support binding alt keys (prefixed with M-). Change default to use
|
|
|
|
C- for ctrl keys (^ is still accepted as an alternative).
|
2008-06-25 21:18:20 +02:00
|
|
|
* Slim down default key bindings: support lowercase only.
|
2008-06-25 09:30:08 +02:00
|
|
|
* Handle escaped keys properly (parse eg \033b into a single key code) and
|
|
|
|
use this to change copy mode next/previous work to M-f and M-b to match
|
|
|
|
emacs.
|
|
|
|
|
2008-06-24 09:00:39 +02:00
|
|
|
24 June 2008
|
|
|
|
|
|
|
|
* Next word (C-n/w) and previous word (C-b/b) in copy mode.
|
|
|
|
|
2008-06-23 09:41:21 +02:00
|
|
|
23 June 2008
|
|
|
|
|
2008-06-24 00:24:16 +02:00
|
|
|
* list-commands command (alias lscm).
|
2008-06-23 09:41:21 +02:00
|
|
|
* Split information about options into a table and use it to parse options
|
|
|
|
on input (allowing abbreviations) and to print them with show-options
|
|
|
|
(meaning that bell-action gets a proper string). This turned out a bit ugly
|
|
|
|
though :-/.
|
|
|
|
|
2008-06-22 18:54:08 +02:00
|
|
|
22 June 2008
|
|
|
|
|
|
|
|
* Do not translate black and white into default if the terminal supports
|
|
|
|
default colours. This was nice to force programs which didn't use default
|
|
|
|
colours to be properly transparent in rxvt/aterm windows with a background
|
|
|
|
image, but it causes trouble if someone redefines the default foreground and
|
|
|
|
background (to have black on white or something).
|
|
|
|
|
2008-06-21 14:41:05 +02:00
|
|
|
21 June 2008
|
|
|
|
|
2008-06-21 16:11:39 +02:00
|
|
|
* Naive tab completion in the command prompt. This only completes command
|
|
|
|
names if a) they are at the start of the text b) the cursor is at
|
|
|
|
the end of the text c) the text contains no spaces.
|
2008-06-21 15:11:28 +02:00
|
|
|
* Only attempt to set the title where TERM looks like an xterm (contains
|
|
|
|
"xterm", "rxvt" or is "screen"). I hate this but I don't see a better way:
|
|
|
|
setting the title actually kills some other terminals pretty much dead.
|
2008-06-21 14:41:05 +02:00
|
|
|
* Strip padding out of terminfo(5) strings. Currently the padding is just
|
|
|
|
ignored, this may need to be altered if there are any software terminals
|
|
|
|
out there that actually need it.
|
|
|
|
|
2008-06-20 01:20:45 +02:00
|
|
|
20 June 2008
|
|
|
|
|
2008-06-20 20:45:35 +02:00
|
|
|
* buffer-limit option to set maximum size of buffer stack. Default is 9.
|
2008-06-20 19:31:48 +02:00
|
|
|
* Initial buffer improvements. Each session has a stack of buffers and each
|
|
|
|
buffer command takes a -b option to manipulate items on the stack. If -b
|
2008-09-26 08:45:28 +02:00
|
|
|
is omitted, the top entry is used. The following commands are currently
|
2008-06-20 19:31:48 +02:00
|
|
|
available:
|
|
|
|
|
|
|
|
set-buffer [-b index] [-t target-session] string
|
|
|
|
paste-buffer [-d] [-b index] [-t target-window]
|
|
|
|
delete-buffer [-b index] [-t target-session]
|
|
|
|
show-buffers [-t target-session]
|
2008-06-21 16:11:39 +02:00
|
|
|
show-buffer [-b index] [-t target-session]
|
2008-06-20 19:31:48 +02:00
|
|
|
|
|
|
|
-d to paste-buffer deletes the buffer after pasting it.
|
2008-06-20 01:20:45 +02:00
|
|
|
* New option, display-time, sets the time status line messages stay on screen
|
|
|
|
(unless a key is pressed). Set in milliseconds, default is 750 (0.75 seconds).
|
2008-06-20 01:24:40 +02:00
|
|
|
The timer is only checked every 100 ms or so.
|
2008-06-20 01:20:45 +02:00
|
|
|
|
2008-06-19 21:37:39 +02:00
|
|
|
19 June 2008
|
|
|
|
|
2008-06-20 00:04:02 +02:00
|
|
|
* Use "status" consistently for status line option, and prefix for "prefix" key
|
|
|
|
option.
|
2008-06-19 22:45:21 +02:00
|
|
|
* Allow commands to be entered at a prompt. This is triggered with the
|
|
|
|
command-prompt command, bound to : by default.
|
2008-06-19 21:37:39 +02:00
|
|
|
* Show status messages properly, without blocking the server.
|
|
|
|
|
2008-06-18 18:34:48 +02:00
|
|
|
18 June 2008
|
|
|
|
|
2008-06-18 20:52:44 +02:00
|
|
|
* New option, set-titles. On by default, this attempts to set the window title
|
2008-09-26 08:45:28 +02:00
|
|
|
using the \e]2;...\007 xterm code.
|
|
|
|
|
2008-06-18 20:52:44 +02:00
|
|
|
Note that elinks requires the STY environment variable (used by screen) to be
|
2008-09-26 08:45:28 +02:00
|
|
|
set before it will set the window title. So, if you want window titles set by
|
2008-06-18 20:52:44 +02:00
|
|
|
elinks, set STY before running it (any value will do). I can't do this for all
|
2008-06-25 21:12:30 +02:00
|
|
|
windows since setting it to an invalid value breaks screen.
|
2008-06-18 19:14:02 +02:00
|
|
|
* Show arrows at either end of status line when scrolled if more windows
|
|
|
|
exist. Highlight the arrow if a hidden window has activity or bell.
|
2008-06-18 18:34:48 +02:00
|
|
|
* Scroll the status line to show the current window if necessary. Also handle
|
|
|
|
windows smaller than needed better (show a blank status line instead of
|
|
|
|
hanging or crashing).
|
|
|
|
|
|
|
|
17 June 2008
|
|
|
|
|
|
|
|
* tmux 0.3 released.
|
|
|
|
|
2008-06-16 08:10:02 +02:00
|
|
|
16 June 2008
|
|
|
|
|
2008-06-16 19:35:40 +02:00
|
|
|
* Add some information messages when window options are changed, suggested by
|
|
|
|
Mike Erdely. Also add a -q command-line option to suppress them.
|
2008-06-16 08:10:02 +02:00
|
|
|
* show-window-options (showw) command.
|
|
|
|
|
2008-06-15 10:01:54 +02:00
|
|
|
15 June 2008
|
|
|
|
|
2008-06-16 08:10:02 +02:00
|
|
|
* show-options (show) command to show one or all options.
|
2008-06-15 10:01:54 +02:00
|
|
|
|
2008-06-14 10:11:17 +02:00
|
|
|
14 June 2008
|
|
|
|
|
2008-06-14 18:47:20 +02:00
|
|
|
* New window options: force-width and force-height. This will force a window
|
|
|
|
to an arbitrary width and height (0 for the default unlimited). This is
|
|
|
|
neat for emacs which doesn't have a sensible way to force hard wrapping at 80
|
|
|
|
columns. Also, don't try to be clever and use clr_eol when redrawing the
|
|
|
|
whole screen, it causes trouble since the redraw functions are used to draw
|
|
|
|
the blank areas too.
|
|
|
|
* Clear the blank area below windows properly when they are smaller than client,
|
|
|
|
also add an indicator line to show the vertical limit.
|
2008-06-14 10:11:17 +02:00
|
|
|
* Don't die on empty strings in config file, reported by Will Maier.
|
|
|
|
|
2008-06-08 21:49:04 +02:00
|
|
|
08 June 2008
|
|
|
|
|
|
|
|
* Set socket mode +x if any sessions are attached and -x if not.
|
|
|
|
|
2008-06-07 08:13:21 +02:00
|
|
|
07 June 2008
|
|
|
|
|
|
|
|
* Make status-interval actually changable.
|
|
|
|
|
2008-06-06 19:55:27 +02:00
|
|
|
06 June 2008
|
|
|
|
|
2008-06-06 22:02:27 +02:00
|
|
|
* New window option: aggressive-resize. Normally, windows are resized to the
|
|
|
|
size of the smallest attached session to which they are linked. This means a
|
|
|
|
window only changes size when sessions are detached or attached, or they are
|
|
|
|
linked or unlinked from a session. This flag changes a window to be the size
|
|
|
|
of the smallest attached session for which it is the current window - it is
|
|
|
|
resized every time a session changes to it or away from it. This is nice for
|
|
|
|
things that handle SIGWINCH well (like irssi) and bad for things like shells.
|
2008-06-06 19:55:27 +02:00
|
|
|
* The server now exits when no sessions remain.
|
|
|
|
* Fix bug with inserting characters with TERM=xterm-color.
|
|
|
|
|
2008-06-05 18:35:32 +02:00
|
|
|
05 June 2008
|
|
|
|
|
2008-06-05 23:25:00 +02:00
|
|
|
* Completely reorganise command parsing. Much more common code in cmd-generic.c
|
|
|
|
and a new way of specifying windows, clients or sessions. Now, most commands
|
2008-09-26 08:45:28 +02:00
|
|
|
take a -t argument, which specifies a client, a session, or a window target.
|
|
|
|
Clients and sessions are given alone (sessions are fnmatch(3)d and
|
2008-06-05 23:25:00 +02:00
|
|
|
clients currently not), windows are give by (client|session):index. For
|
|
|
|
example, if a user is in session "1" window 0 on /dev/ttypi, these should all
|
|
|
|
be equivalent:
|
|
|
|
|
|
|
|
tmux renamew newname (current session and window)
|
|
|
|
tmux renamew -t: newname (current session and window)
|
|
|
|
tmux renamew -t:0 newname (current session, window 0)
|
|
|
|
tmux renamew -t0 newname (current session, window 0)
|
|
|
|
tmux renamew -t1:0 newname (session 1, window 0)
|
2008-06-06 01:17:03 +02:00
|
|
|
tmux renamew -t1: newname (session 1's current window)
|
2008-06-05 23:25:00 +02:00
|
|
|
tmux renamew -t/dev/ttypi newname (client /dev/ttypi's current
|
|
|
|
session and window)
|
|
|
|
tmux renamew -t/dev/ttypi: newname (client /dev/ttypi's current
|
|
|
|
session and window)
|
|
|
|
tmux renamew -t/dev/ttypi:0 newname (client /dev/ttypi's current
|
|
|
|
session, window 0)
|
|
|
|
|
2008-06-06 00:59:38 +02:00
|
|
|
This does have some downsides, for example, having to use -t on selectw,
|
|
|
|
|
|
|
|
tmux selectw -t7
|
|
|
|
|
|
|
|
is annoying. But then using non-flagged arguments would mean renaming the
|
|
|
|
current window would need to be something like:
|
2008-09-26 08:45:28 +02:00
|
|
|
|
2008-06-06 00:59:38 +02:00
|
|
|
tmux renamew : newname
|
|
|
|
|
|
|
|
It might be better not to try and be so consistent; comments to the usual
|
|
|
|
address ;-).
|
2008-06-05 18:35:32 +02:00
|
|
|
* Infrastructure for printing arguments in list-keys output. Easy ones only for
|
|
|
|
now.
|
|
|
|
|
2008-06-04 07:40:35 +02:00
|
|
|
04 June 2008
|
|
|
|
|
2008-06-04 22:01:36 +02:00
|
|
|
* Add some vi(1) key bindings in copy mode, and support binding ^[, ^\, ^]
|
|
|
|
^^ and ^_. Both from/prompted by Will Maier.
|
2008-06-04 20:34:56 +02:00
|
|
|
* setw monitor-activity and set status without arguments now toggle the current
|
|
|
|
value; suggested by merdely.
|
2008-06-04 19:54:27 +02:00
|
|
|
* New command set-window-option (alias setw) to set the single current window
|
|
|
|
option: monitor-activity to determine whether window activity is shown in
|
|
|
|
the status bar for that window (default off).
|
2008-06-04 18:46:23 +02:00
|
|
|
* Change so active/bell windows are inverted in status line.
|
|
|
|
* Activity monitoring - window with activity are marked in status line. No
|
|
|
|
way to disable this/filter windows yet.
|
2008-06-04 18:11:53 +02:00
|
|
|
* Brought select-window command into line with everything else; it now uses
|
|
|
|
-i for the window index.
|
2008-06-04 07:40:35 +02:00
|
|
|
* Strings to display on the left and right of the status bar may now be set
|
|
|
|
with the status-left and status-right options. These are passed through
|
|
|
|
strftime(3) before being displayed. The status bar is automatically updated
|
|
|
|
at an interval set by the status-interval option. The default is to display
|
|
|
|
nothing on the left and the date and time on the left; the default update
|
|
|
|
interval is 15 seconds.
|
|
|
|
|
2008-06-03 07:10:38 +02:00
|
|
|
03 June 2008
|
|
|
|
|
2008-06-03 23:42:37 +02:00
|
|
|
* Per session options. Setting options without specifying a session sets the
|
|
|
|
global options as normal (global options are inherited by all sessions);
|
|
|
|
passing -c or -s will set the option only for that session.
|
2008-06-03 18:55:09 +02:00
|
|
|
* Because a client has a session attached, any command needing a session can
|
|
|
|
take a client and use its session. So, anything that used to accept -s now
|
|
|
|
accepts -c as well.
|
2008-06-03 07:47:09 +02:00
|
|
|
* -s to specify session name now supports fnmatch(3) wildcards; if multiple
|
|
|
|
sessions are found, or if no -s is specified, the most newly created is used.
|
2008-09-26 08:45:28 +02:00
|
|
|
* If no command is specified, assume new-session. As a byproduct, clean up
|
2008-06-03 07:35:51 +02:00
|
|
|
command default values into seperate init functions.
|
2008-06-03 07:10:38 +02:00
|
|
|
* kill-server command.
|
|
|
|
|
2008-06-02 20:08:17 +02:00
|
|
|
02 June 2008
|
|
|
|
|
2008-06-02 23:08:36 +02:00
|
|
|
* New command, start-server (alias "start"), to start the tmux server and do
|
|
|
|
nothing else. This is good if you have a configuration file which creates
|
|
|
|
windows or sessions (like me): in that case, starting the server the first
|
|
|
|
time tmux new is run is bad since it creates a new session and window (as
|
|
|
|
it is supposed to - starting the server is a side-effect).
|
|
|
|
|
|
|
|
Instead, I have a little script which does the equivalent of:
|
|
|
|
|
|
|
|
tmux has -s0 2>/dev/null || tmux start
|
|
|
|
tmux attach -d -s0
|
|
|
|
|
|
|
|
And I use it to start the server if necessary and attach to my primary
|
|
|
|
session.
|
|
|
|
* Basic configuration file in ~/.tmux.conf or specified with -f. This is file
|
|
|
|
contains a set of tmux commands that are run the first time the server is
|
|
|
|
started. The configuration commands are executed before any others, so
|
|
|
|
if you have a configuration file that contains:
|
|
|
|
|
|
|
|
new -d
|
|
|
|
neww -s0
|
|
|
|
|
|
|
|
And you do the following without an existing server running:
|
|
|
|
|
|
|
|
tmux new
|
|
|
|
|
|
|
|
You will end up with two sessions, session 0 with two windows (created by
|
|
|
|
the configuration file) and your client attached to session 1 with one
|
|
|
|
window (created by the command-line command). I'm not completely happy with
|
|
|
|
this, it seems a little non-obvious, but I haven't yet decided what to do
|
|
|
|
about it.
|
|
|
|
|
|
|
|
There is no environment variable handling or other special stuff yet.
|
|
|
|
|
|
|
|
In the future, it might be nice to be able to have per-session configuration
|
|
|
|
settings, probably by having conditionals in the file (so you could, for
|
|
|
|
example, have commands to define a particular window layout that would only
|
|
|
|
be invoked if you called tmux new -smysession and mysession did not already
|
|
|
|
exist).
|
2008-06-02 20:08:17 +02:00
|
|
|
* BIG CHANGE: -s and -c to specify session name and client name are now passed
|
|
|
|
after the command rather than before it. So, for example:
|
|
|
|
|
|
|
|
tmux -s0 neww
|
|
|
|
|
|
|
|
Becomes:
|
|
|
|
|
|
|
|
tmux neww -s0
|
|
|
|
|
|
|
|
This is to allow them to be used in the (forthcoming) configuration file
|
|
|
|
THIS WILL BREAK ANY CURRENT SCRIPTS OR ALIASES USING -s OR -c.
|
|
|
|
|
2008-06-01 22:20:25 +02:00
|
|
|
01 June 2008
|
|
|
|
|
2008-06-01 22:32:41 +02:00
|
|
|
* Bug fix: don't die if -k passed to link-window and the destination doesn't
|
|
|
|
exist.
|
2008-06-01 22:20:25 +02:00
|
|
|
* New command, send-keys, will send a set of keys to a window.
|
|
|
|
|
2008-05-31 22:04:15 +02:00
|
|
|
31 May 2008
|
|
|
|
|
|
|
|
* Fix so tmux doesn't hang if the initial window fails for some reason. This
|
|
|
|
was highlighted by problems on Darwin, thanks to Elias Pipping for the report
|
|
|
|
and access to a test account. (tmux still won't work on Darwin since its
|
|
|
|
poll(2) is broken.)
|
|
|
|
|
2008-01-02 20:22:21 +01:00
|
|
|
02 January 2008
|
|
|
|
|
|
|
|
* Don't attempt to reset the tty on exit if it has been closed externally.
|
|
|
|
|
2007-12-06 10:46:23 +01:00
|
|
|
06 December 2007
|
|
|
|
|
2007-12-06 12:05:04 +01:00
|
|
|
* Restore checks for required termcap entries and add a few more obvious
|
|
|
|
emulations.
|
2007-12-06 10:46:23 +01:00
|
|
|
* Another major reorganisation, this time of screen handling. A new set of
|
|
|
|
functions, screen_write_*, are now used to write to a screen and a tty
|
|
|
|
simultaneously. These are used by the input parser to update the base
|
|
|
|
window screen and also by the different modes which now interpose their own
|
|
|
|
screen.
|
|
|
|
|
2007-11-30 12:08:35 +01:00
|
|
|
30 November 2007
|
|
|
|
|
|
|
|
* Support \ek...\e\ to set window name.
|
|
|
|
|
2007-11-27 20:23:34 +01:00
|
|
|
27 November 2007
|
|
|
|
|
2007-11-28 00:28:51 +01:00
|
|
|
* Enable/disable mouse when asked, if terminal claims to support it. Mouse
|
|
|
|
sequences are just passed through unaltered for the moment.
|
2007-11-27 20:23:34 +01:00
|
|
|
* Big internal reorganisation. Rather than leaving control of the tty solely in
|
|
|
|
the client and piping all data through a socket to it, change so that the
|
|
|
|
server opens the tty again and reads and writes to it directly. This avoids
|
2008-05-10 14:50:25 +02:00
|
|
|
a lot of buffering and copying. Also reorganise the redrawing stuff so that
|
2007-11-27 20:23:34 +01:00
|
|
|
everything goes through screen_draw_* - this makes the code simpler, but
|
|
|
|
still needs broken up more, and all the ways of writing to screens should be
|
|
|
|
more consistent.
|
|
|
|
|
2007-11-26 21:36:30 +01:00
|
|
|
26 November 2007
|
|
|
|
|
2007-11-26 23:18:57 +01:00
|
|
|
* Rather than shifting up one line at a time once the history is full,
|
|
|
|
shift by 10% of the history each time. This is faster.
|
2007-11-26 21:36:30 +01:00
|
|
|
* Add ^A and ^E to copy mode to move to start-of-line/end-of-line.
|
|
|
|
|
2007-11-25 00:29:49 +01:00
|
|
|
24 November 2007
|
|
|
|
|
|
|
|
* Support for alt charset mode (VT100 graphics characters).
|
|
|
|
|
|
|
|
23 November 2007
|
2007-11-23 13:48:20 +01:00
|
|
|
|
2007-11-23 18:52:54 +01:00
|
|
|
* Mostly complete copy & paste. Copy mode entered with C-b [ (copy-mode
|
|
|
|
command). In copy mode, arrow keys/page up/page down/hjkl/C-u/C-f navigate,
|
|
|
|
space or C-space starts selection, and enter or C-w copies and (important!)
|
2007-11-23 23:51:13 +01:00
|
|
|
exits copy mode. C-b ] (paste-buffer) pastes into current window. No
|
2007-11-23 18:52:54 +01:00
|
|
|
extra utility keys (bol/eol/clear selection/etc), only one single buffer,
|
|
|
|
and no buffer manipulation commands (clear/view/etc) yet. The code is also
|
|
|
|
fugly :-(.
|
2007-11-23 13:48:20 +01:00
|
|
|
* history-limit option to set maximum history. Does not apply retroactively to
|
|
|
|
existing windows! Lines take up a variable amount of space, but a reasonable
|
|
|
|
guess for an 80-column terminal is 250 KB per 1000 lines (of history used,
|
|
|
|
an empty history takes no space).
|
|
|
|
|
2007-11-21 14:11:41 +01:00
|
|
|
21 November 2007
|
|
|
|
|
2007-11-21 23:20:44 +01:00
|
|
|
* Create every line as zero length and only expand it as data is written,
|
|
|
|
rather than creating at full size immediately.
|
2007-11-21 20:44:05 +01:00
|
|
|
* Make command output (eg list-keys) go to a scrollable window similar to
|
|
|
|
scroll mode.
|
2007-11-21 19:24:49 +01:00
|
|
|
* Redo screen redrawing so it is a) readable b) split into utility functions
|
|
|
|
that can be used outside screen.c. Use these to make scroll mode only
|
|
|
|
redraw what it has to which gets rid of irritating flickering status box and
|
|
|
|
makes it much faster.
|
2007-11-21 16:35:53 +01:00
|
|
|
* Full line width memory and horizontal scrolling in history.
|
2007-11-21 14:11:41 +01:00
|
|
|
* Initial support for scroll history. = to enter scrolling mode, and then
|
|
|
|
vi keys or up/down/pgup/pgdown to navigate. Q to exit. No horizontal history
|
|
|
|
yet (need per-line sizes) and a few kinks to be worked out (resizing while in
|
|
|
|
history mode will probably cause trouble).
|
|
|
|
|
2007-11-20 18:01:38 +01:00
|
|
|
20 November 2007
|
|
|
|
|
2007-11-20 19:11:37 +01:00
|
|
|
* Fix format string error with "must specify a client" message. Also
|
|
|
|
sprinkle some printflike tags.
|
2007-11-20 18:01:38 +01:00
|
|
|
* tmux 0.1 released.
|
|
|
|
|
2007-11-17 09:21:54 +01:00
|
|
|
17 November 2007
|
|
|
|
|
|
|
|
* (nicm) Add -k option to link-window to kill target window if it exists.
|
|
|
|
|
2007-11-16 14:23:59 +01:00
|
|
|
16 November 2007
|
|
|
|
|
2007-11-16 23:06:45 +01:00
|
|
|
* (nicm) Split in-client display into two columns. This is a hack but not a lot
|
|
|
|
more so than that bit is already and it helps with lots of keys.
|
2007-11-16 22:31:03 +01:00
|
|
|
* (nicm) switch-client command to switch client between different sessions. This
|
|
|
|
is pretty cool:
|
|
|
|
|
|
|
|
$ tmux bind q switch 0
|
|
|
|
$ tmux bind w switch 1
|
|
|
|
|
2008-09-26 08:45:28 +02:00
|
|
|
Then you can switch between sessions 0 and 1 with a key :-).
|
2007-11-16 22:12:31 +01:00
|
|
|
* (nicm) Accept "-c client-tty" on command line to allow client manipulation
|
|
|
|
commands, and change detach-/refresh-session to detach-/refresh-client (this
|
|
|
|
loses the -a behaviour, but at some point -session versions may return, and
|
|
|
|
-c will allow fnmatch(3)).
|
2007-11-16 14:23:59 +01:00
|
|
|
* (nicm) List available commands on ambiguous command.
|
|
|
|
|
2007-11-12 15:21:41 +01:00
|
|
|
12 November 2007
|
|
|
|
|
2008-09-26 08:45:28 +02:00
|
|
|
* (nicm) If the terminal supports default colours (AX present), force black
|
2007-11-12 21:29:43 +01:00
|
|
|
background and white foreground to default. This is useful on transparent
|
|
|
|
*terms for programs which don't do it themselves (like most(1)).
|
2007-11-12 17:09:08 +01:00
|
|
|
* (nicm) Fill in the rest of the man page.
|
2007-11-12 15:21:41 +01:00
|
|
|
* (nicm) kill-session command.
|
|
|
|
|
2007-11-09 12:02:01 +01:00
|
|
|
09 November 2007
|
|
|
|
|
2007-11-09 18:09:34 +01:00
|
|
|
* (nicm) C-space is now "^ " not "^@".
|
2007-11-09 18:06:01 +01:00
|
|
|
* (nicm) Support tab (\011).
|
2007-11-09 16:23:28 +01:00
|
|
|
* (nicm) Initial man page outline.
|
2007-11-09 12:03:35 +01:00
|
|
|
* (nicm) -V to show version.
|
2007-11-09 12:02:01 +01:00
|
|
|
* (nicm) rename-session command.
|
|
|
|
|
2007-11-08 11:39:52 +01:00
|
|
|
08 November 2007
|
|
|
|
|
|
|
|
* (nicm) Check for required terminal capabilities on start.
|
|
|
|
|
2007-10-31 15:26:26 +01:00
|
|
|
31 October 2007
|
|
|
|
|
|
|
|
* (nicm) Linux port.
|
|
|
|
|
2007-10-30 12:10:33 +01:00
|
|
|
30 October 2007
|
|
|
|
|
|
|
|
* (nicm) swap-window command. Same as link-window but swaps windows.
|
|
|
|
|
2007-10-26 14:29:07 +02:00
|
|
|
26 October 2007
|
|
|
|
|
2007-10-26 19:15:50 +02:00
|
|
|
* (nicm) Saving scroll region on \e7 causes problems with ncmpc so I guess
|
|
|
|
it is not required.
|
2007-10-26 18:57:32 +02:00
|
|
|
* (nicm) unlink-window command.
|
2007-10-26 15:03:59 +02:00
|
|
|
* (nicm) link-window command to link an existing window into another session
|
|
|
|
(or another index in the same session). Syntax:
|
|
|
|
|
|
|
|
tmux -s dstname link-window [-i dstidx] srcname srcidx
|
|
|
|
|
2007-10-26 14:29:07 +02:00
|
|
|
* (nicm) Redo window data structures. The global array remains, but each per-
|
|
|
|
session list is now a RB tree of winlink structures. This disassociates the
|
|
|
|
window index from the array size (allowing arbitrary indexes) which still
|
|
|
|
allowing windows to have multiple indexes.
|
|
|
|
|
2007-10-25 19:44:25 +02:00
|
|
|
25 October 2007
|
|
|
|
|
|
|
|
* (nicm) has-session command: checks if session exists.
|
|
|
|
|
2007-10-24 17:01:25 +02:00
|
|
|
24 October 2007
|
|
|
|
|
2007-10-24 17:29:29 +02:00
|
|
|
* (nicm) Support for \e6n to request cursor position. resize(1) now works.
|
2007-10-24 17:01:25 +02:00
|
|
|
* (nicm) Support for \e7, \e8 save/restore cursor and attribute sequences.
|
|
|
|
Currently don't save mode (probably should). Also change some cases where
|
|
|
|
out-of-bound values are ignored to limit them to within range (there are
|
|
|
|
others than need to be checked too).
|
|
|
|
|
2007-10-23 11:36:19 +02:00
|
|
|
23 October 2007
|
|
|
|
|
2007-10-23 12:48:23 +02:00
|
|
|
* (nicm) Lift limit on session name passed with -s.
|
2007-10-23 11:36:19 +02:00
|
|
|
* (nicm) Show size in session/window lists.
|
|
|
|
* (nicm) Pass tty up to server when client identifies and add a list-clients
|
|
|
|
command to list connected clients.
|
|
|
|
|
2007-10-20 11:57:08 +02:00
|
|
|
20 October 2007
|
|
|
|
|
|
|
|
* (nicm) Add default-command option and change default to be $SHELL rather than
|
|
|
|
$SHELL -l. Also try to read shell from passwd db if $SHELL isn't present.
|
|
|
|
|
2007-10-19 11:21:26 +02:00
|
|
|
19 October 2007
|
|
|
|
|
2007-10-19 19:15:29 +02:00
|
|
|
* (nicm) -n on new-session is now -s, and -n is now the initial window name.
|
|
|
|
This was documented but not implemented :-/.
|
2007-10-19 13:10:35 +02:00
|
|
|
* (nicm) kill-window command, bound to & by default (because it should be hard
|
|
|
|
to hit accidently).
|
2007-10-19 12:21:36 +02:00
|
|
|
* (nicm) bell-style option with three choices: "none" completely ignore bell;
|
|
|
|
"any" pass through a bell in any window to current; "current" ignore bells
|
|
|
|
except in current window. This applies only to the bell terminal signal,
|
|
|
|
the status bar always reflects any bells.
|
2007-10-19 11:21:26 +02:00
|
|
|
* (nicm) Refresh session command.
|
|
|
|
|
2007-10-12 13:24:15 +02:00
|
|
|
12 October 2007
|
|
|
|
|
2007-10-12 16:46:48 +02:00
|
|
|
* (nicm) Add a warning if $TMUX exists on new/attach.
|
2007-10-12 15:03:58 +02:00
|
|
|
* (nicm) send-prefix command. Bound to C-b by default.
|
2007-10-12 14:32:34 +02:00
|
|
|
* (nicm) set status, status-fg, status-bg commands. fg and bg are as a number
|
2007-10-12 15:51:44 +02:00
|
|
|
from 0 to 8 or a string ("red", "blue", etc). status may be 1/0, on/off,
|
|
|
|
yes/no.
|
2007-10-12 13:24:15 +02:00
|
|
|
* (nicm) Make status line mark window in yellow on bell.
|
|
|
|
|
2007-10-04 11:30:53 +02:00
|
|
|
04 October 2007
|
|
|
|
|
2007-10-04 23:21:48 +02:00
|
|
|
* (nicm) -d option to attach to detach all other clients on the same session.
|
2007-10-04 21:03:52 +02:00
|
|
|
* (nicm) Partial resizing support. Still buggy. A C-b S and back sometimes fixes
|
|
|
|
it when it goes wonky.
|
|
|
|
* (mxey) Added my tmux start script as an example (examples/start-tmux.sh).
|
|
|
|
* (mxey) New sessions can now be given a command for their first window.
|
|
|
|
* (mxey) Fixed usage statement for new-window.
|
2007-10-04 13:52:03 +02:00
|
|
|
* (nicm) attach-session (can't believe I forgot it until now!) and list-windows
|
|
|
|
commands.
|
2007-10-04 12:54:21 +02:00
|
|
|
* (nicm) rename-window and select-window commands.
|
2007-10-04 12:11:32 +02:00
|
|
|
* (nicm) set-option command (alias set): "tmux set-option prefix ^A".
|
2007-10-04 11:30:53 +02:00
|
|
|
* (nicm) Key binding and unbinding is back.
|
|
|
|
|
2007-10-03 12:18:32 +02:00
|
|
|
03 October 2007
|
|
|
|
|
2007-10-04 11:30:53 +02:00
|
|
|
* (nicm) {new,next,last,previous}-window.
|
2007-10-03 23:31:07 +02:00
|
|
|
* (nicm) Rewrite command handling so commands are much more generic and the
|
|
|
|
same commands are used for command line and keys (although most will probably
|
|
|
|
need to check how they are called). Currently incomplete (only new/detach/ls
|
2007-10-04 11:30:53 +02:00
|
|
|
implemented). Change: -s is now passed before command again!
|
2007-10-03 14:34:16 +02:00
|
|
|
* (nicm) String number arguments. So you can do: tmux bind ^Q create "blah".
|
2007-10-03 13:26:34 +02:00
|
|
|
* (nicm) Key binding. tmux bind key command [argument] and tmux unbind key.
|
|
|
|
Key names are in a table in key-string.c, plus A is A, ^A is ctrl-A.
|
|
|
|
Possible commands are in cmd.c (look at cmd_bind_table).
|
2007-10-03 12:18:32 +02:00
|
|
|
* (nicm) Move command parsing into the client. Also rename some messages and
|
|
|
|
tidy up a few bits. Lots more tidying up needed :-/.
|
|
|
|
|
2007-10-02 19:36:16 +02:00
|
|
|
02 October 2007
|
|
|
|
|
2007-10-02 19:45:05 +02:00
|
|
|
* (nicm) Redraw client status lines on rename.
|
2007-10-02 19:36:16 +02:00
|
|
|
* (nicm) Error on ambiguous command.
|
|
|
|
|
2007-10-01 16:53:29 +02:00
|
|
|
01 October 2007
|
|
|
|
|
2007-10-01 19:37:41 +02:00
|
|
|
* (nicm) Restore window title handling.
|
2007-10-01 16:53:29 +02:00
|
|
|
* (nicm) Simple uncustomisable status line with window list.
|
|
|
|
|
2007-09-30 15:02:14 +02:00
|
|
|
30 September 2007
|
|
|
|
|
|
|
|
* (nicm) Window info command for debugging, C-b I.
|
|
|
|
|
2007-09-29 11:53:25 +02:00
|
|
|
29 September 2007
|
|
|
|
|
2007-09-29 23:10:26 +02:00
|
|
|
* (nicm) Deleting/inserting lines should follow scrolling region. Fix.
|
2007-09-29 16:57:07 +02:00
|
|
|
* (nicm) Allow creation of detached sessions: "tmux new-session -d".
|
2008-09-26 08:45:28 +02:00
|
|
|
* (nicm) Permit error messages to be passed back for transient clients like
|
2007-09-29 15:22:15 +02:00
|
|
|
rename. Also make rename -i work.
|
2007-09-29 11:53:25 +02:00
|
|
|
* (nicm) Pass through bell in any window to current.
|
|
|
|
|
2007-09-28 23:41:52 +02:00
|
|
|
28 September 2007
|
2007-09-29 00:47:22 +02:00
|
|
|
|
|
|
|
* (nicm) Major rewrite of input parser:
|
|
|
|
- Lose the old weirdness in favour of a state machine.
|
|
|
|
- Merge in parsing from screen.c.
|
|
|
|
- Split key parsing off into a separate file.
|
|
|
|
This is step one towards hopefully allowing a status line. It requires
|
|
|
|
that we output data as if the terminal had one line less than it really does -
|
2008-09-26 08:45:28 +02:00
|
|
|
a serious problem when it comes to things like scrolling. This change
|
2007-09-29 00:47:22 +02:00
|
|
|
consolidates all the range checking and limiting together which should make
|
|
|
|
it easier.
|
|
|
|
* (mxey) Added window remaming, like "tmux rename [-s session] [-i index] name"
|
2008-09-26 08:45:28 +02:00
|
|
|
|
2007-09-27 12:14:10 +02:00
|
|
|
27 September 2007
|
|
|
|
|
|
|
|
* Split "tmux list" into "tmux list-sessions" (ls) and "list-windows" (lsw).
|
|
|
|
* New command session selection:
|
|
|
|
- if name is specified, look for it and use it if it exists, otherwise
|
|
|
|
error
|
|
|
|
- if no name specified, try the current session from $TMUX
|
|
|
|
- if $TMUX doesn't exist, and there is only one session, use it,
|
|
|
|
otherwise error
|
|
|
|
|
|
|
|
26 September 2007
|
|
|
|
|
|
|
|
* Add command aliases, so "ls" is an alias for "list".
|
|
|
|
* Rename some commands and alter syntax to take options after a la CVS. Also
|
|
|
|
change some flags. So:
|
|
|
|
|
|
|
|
tmux -s/socket -nabc new
|
|
|
|
|
|
|
|
Becomes:
|
2008-09-26 08:45:28 +02:00
|
|
|
|
2007-09-27 12:14:10 +02:00
|
|
|
tmux -S/socket new -sabc
|
|
|
|
|
|
|
|
* Major tidy and split of client/server code.
|
|
|
|
|
2007-09-22 13:50:33 +02:00
|
|
|
22 September 2007
|
|
|
|
|
|
|
|
* Window list command (C-b W). Started by Maximilian Gass, finished by me.
|
|
|
|
|
2007-09-20 10:21:59 +02:00
|
|
|
20 September 2007
|
|
|
|
|
2007-09-20 20:48:04 +02:00
|
|
|
* Specify meta via environment variable (META).
|
2007-09-20 20:03:23 +02:00
|
|
|
* Record last window and ^L key to switch to it. Largely from Maximilian Gass.
|
2007-09-20 11:43:33 +02:00
|
|
|
* Reset ignored signals in child after forkpty, makes ^C work.
|
2007-09-20 10:21:59 +02:00
|
|
|
* Wrap on next/previous. From Maximilian Gass.
|
|
|
|
|
2007-09-19 17:16:23 +02:00
|
|
|
19 September 2007
|
|
|
|
|
|
|
|
* Don't renumber windows on close.
|
|
|
|
|
2007-08-28 11:19:50 +02:00
|
|
|
28 August 2007
|
|
|
|
|
|
|
|
* Scrolling region (\e[r) support.
|
|
|
|
|
2007-08-27 11:53:38 +02:00
|
|
|
27 August 2007
|
|
|
|
|
|
|
|
* Change screen.c to work more logically and hopefully fix heap corruption.
|
|
|
|
|
2007-07-09 21:04:12 +02:00
|
|
|
09 July 2007
|
|
|
|
|
2008-09-26 08:45:28 +02:00
|
|
|
* Initial import to CVS. Basic functions are working, albeit with a couple of
|
2007-07-09 21:04:12 +02:00
|
|
|
showstopper memory bugs and many missing features. Detaching, reattaching,
|
|
|
|
creating new sessions, listing sessions work acceptably for using with shells.
|
|
|
|
Simple curses programs (top, systat, tetris) and more complicated ones (mutt,
|
|
|
|
emacs) that don't require scrolling regions (ESC[r) mostly work fine
|
|
|
|
(including mutt, emacs). No status bar yet and no key remapping or other
|
|
|
|
customisation.
|
|
|
|
|
2008-12-05 21:04:06 +01:00
|
|
|
$Id: CHANGES,v 1.169 2008-12-05 20:04:06 nicm Exp $
|