| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
Provide common helper function for adding windows and sessions to choose
lists and expand %% in command before using it rather than at callback
time. From Thomas Adam.
|
|
|
|
|
| |
Clean up and simplify the choose mode code, from Thomas Adam.
|
|
|
|
|
|
|
|
|
| |
Add a skeleton mode to tmux (called "control mode") that let's tmux
commands be sent and output received on stdout. This can be used to
integrate with other terminal emulators and should allow some other
things to be made simpler later. More to come so doesn't do much yet and
deliberately not documented.
|
|
|
|
|
|
| |
Strip layout from choose-windows again (leave in list-windows),
suggested by Romain Francoise, diff from Thomas Adam.
|
|
|
|
|
| |
Fix client templates, from Romain Francoise.
|
|
|
|
|
| |
Simplify logging and just fprintf(stderr, ...) for early errors.
|
|
|
|
|
| |
Use a predefined structure for not-space cells used to set attributes.
|
|
|
|
|
|
| |
Store client in tty struct directly instead of using a callback function
pointer.
|
|
|
|
|
| |
Store mouse data in tty structure not on the stack.
|
|
|
|
|
|
| |
Switch all of the various choose- and list- commands over to the format
infrastructure, from Thomas Adam.
|
|
|
|
|
| |
Add a helper function to send ready message.
|
|
|
|
|
|
| |
If there are any terminals with insert mode but not ich1, they can go
through the slow path. Tidies code slightly.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of passing stdin/stdout/stderr file descriptors over imsg and
handling them in the server, handle them in the client and pass buffers
over imsg. This is much tidier for some upcoming changes and the
performance hit isn't critical.
The tty fd is still passed to the server as before.
This bumps the tmux protocol version so new clients and old servers are
incompatible.
|
|
|
|
|
| |
Add a helper function to open the terminal for attach-/new-session.
|
|
|
|
|
|
|
| |
Add a flag to move-window to renumber the windows in a session (closing
any gaps) and add an option to do this automatically each time a window
is killed. From Thomas Adam.
|
|
|
|
|
|
| |
Add a buffer with all input from last ground state, will be used for
control mode. From George Nachman.
|
|
|
|
|
|
| |
Stop accepting new clients for 1 second on EMFILE/ENFILE. Based on
ongoing fixes to other daemons by Theo.
|
|
|
|
|
| |
Fix comment for mouse bits.
|
|
|
|
|
|
| |
Add a layout history which can be stepped through with select-layout -u
and -U commands (bound to 'u' and 'U' by default).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a simple form of output rate limiting by counting the number of
certain C0 sequences (linefeeds, backspaces, carriage returns) and if it
exceeds a threshold (current default 50/millisecond), start to redraw
the pane every 100 milliseconds instead of making each change as it
comes. Two configuration options - c0-change-trigger and
c0-change-interval.
This makes tmux much more responsive under very fast output (for example
yes(1) or accidentally cat'ing a large file) but may not be perfect on
all terminals and connections - feedback very welcome, particularly
where this change has a negative rather than positive effect (making it
off by default is a possibility).
After much experimentation based originally on a request Robin Lee
Powell (which ended with a completely different solution), this idea
from discussion with Ailin Nemui.
|
|
|
|
|
|
|
| |
On xterm 271 and later, put the terminal into SCL 5 and use DECCRA for
scrolling the region in panes (if the large region check isn't
hit). With help from Ailin Nemui.
|
|
|
|
|
|
| |
Add notify hooks for various events, the functions are currently empty
stubs but will be filled in for control mode later. From George Nachman.
|
|
|
|
|
|
| |
Break out termios initialization into a separate function, from George
Nachman.
|
|
|
|
|
|
| |
Send secondary DA to terminals with XT in terminfo when starting up and
parse it to work out the xterm version.
|
|
|
|
|
| |
Remove some bits leftover from unused backoff code.
|
|
|
|
|
|
|
| |
Use a lock file and flock() to serialize server start, avoids problems
when running a bunch of tmux from cron at the same time. Based on a diff
from Tim Ruehsen.
|
|
|
|
|
| |
Add A and I keys for vi status line editing.
|
|
|
|
|
|
|
|
|
| |
Support "bracketed paste" mode. This adds a -p flag to paste-buffer - if
this is used and the application has requested bracketed pastes, then
tmux surrounds the pasted text by \033[200~ and \033[201~. Applications
like vim can (apparently) use this to avoid, for example, indenting the
text. From Ailin Nemui.
|
|
|
|
|
|
| |
The wlmouse offset should be part of the client, not the server. From
Ailin Nemui.
|
|
|
|
|
|
|
| |
Add move-pane command (like join-pane but allows the same window). Also
-b flag to join-pane and move-pane to place the pane to the left or
above. From George Nachman.
|
|
|
|
|
| |
Add printf attribute to a couple of functions, from Tim Ruehsen.
|
|
|
|
|
|
| |
Allow a single option to be specified to show-options to show just that
option.
|
|
|
|
|
| |
Add a wrapper function tty_set_size from George Nachman.
|
|
|
|
|
|
| |
Move window name changes into wrapper function window_set_name, from
George Nachman.
|
|
|
|
|
|
|
|
|
|
|
| |
Provide defined ways to set the various default-path possibilities: ~
for home directory, . for server start directory, - for session start
directory and empty for the pane's working directory (the default). All
can also be used as part of a relative path (eg -/foo). Also provide -c
flags to neww and splitw to override default-path setting.
Based on a diff from sthen. ok sthen
|
|
|
|
|
|
| |
Give each window a unique id, like panes but prefixed with @. Based on
work from George Nachman.
|
|
|
|
|
|
| |
Add an option to move the status line to the top of the screen,
requested by many.
|
|
|
|
|
| |
Remove unused backoff code that doesn't do any good.
|
|
|
|
|
| |
Use RB trees not SPLAY.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Drop the ability to have a list of keys in the prefix in favour of two
separate options, prefix and prefix2. This simplifies the code and gets
rid the data options type which was only used for this one option.
Also add a -2 flag to send-prefix to send the secondary prefix key,
fixing a cause of minor irritation.
People who want three prefix keys are out of luck :-).
|
|
|
|
|
|
| |
Add a -R flag to send-keys to reset the terminal. Written ages ago and
Suggested by someone, I forget who.
|
|
|
|
|
| |
Add some const and fix a warning.
|
|
|
|
|
| |
Add space movement keys for vi mode in the status line from Ben Boeckel.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
default-path isn't empty, it is used. Otherwise:
1) If tmux neww is run from the command line, the working directory of the
client is used.
2) Otherwise use some platform specific code to retrieve the current working
directory of the process in the active pane.
3) If that fails, the directory where the session was created is used.
Idea and support code, Linux, Solaris, FreeBSD bits by Romain Francoise,
OpenBSD bits by me.
|
|
|
|
|
|
|
|
| |
Support "jump to" like vi in copy mode using t and T keys. Also add x
and X for delete in edit mode.
From Ben Boeckel, thanks.
|
|
|
|
|
|
| |
Add word movement and editing command for command prompt editing, from
Ben Boeckel.
|
|
|
|
|
| |
Make window_pane_index work the same as window_index, from Ben Boeckel.
|
|
|
|
|
|
| |
Support for \e[3J to clear the history. Also send the corresponding
terminfo code (E3) before locking.
|
|
|
|
|
|
| |
Try to resolve relative paths for loadb and saveb (first using client
working directory if any then default-path or session wd).
|
|
|
|
|
| |
Add client formats, from Ben Boeckel.
|