Nicholas Marriott
73c6785538
Use a separate define for each default format template and strip clutter
...
from the choose-tree defaults.
2012-08-14 08:51:53 +00:00
Nicholas Marriott
a3dec6bece
Instead of numbering choose mode items 0-9a-z and then nothing, number
...
them all and if there are more than 10 use a prompt when 0-9 is
pressed. From Thomas Adam.
2012-08-11 06:45:33 +00:00
Nicholas Marriott
5385a9bb34
Add a queue of notifys and a way to turn them off and on (we do not want
...
notifys to happen during some commands). Based on code from George
Nachman.
2012-07-13 06:27:41 +00:00
Nicholas Marriott
ede8312d59
Make command exec functions return an enum rather than -1/0/1 values and
...
add a new value to mean "leave client running but don't attach" to fix
problems with using some commands in a command sequence. Most of the
work by Thomas Adam, problem reported by "jspenguin" on SF bug 3535531.
2012-07-11 07:10:15 +00:00
Nicholas Marriott
df912e3540
xfree is not particularly helpful, remove it. From Thomas Adam.
2012-07-10 11:53:01 +00:00
Nicholas Marriott
f20c6fe009
Add choose-tree command to show windows and sessions in the same
...
list. Change choose-window and -session to use the same code. From
Thomas Adam.
2012-07-08 16:04:38 +00:00
Nicholas Marriott
63f5c38023
Clear flags across all sessions, from Thomas Adam.
2012-07-08 07:27:32 +00:00
Nicholas Marriott
67b926cf3c
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.
2012-06-25 14:27:25 +00:00
Nicholas Marriott
5b6f78186c
Clean up and simplify the choose mode code, from Thomas Adam.
2012-06-25 14:08:55 +00:00
Nicholas Marriott
2942eca895
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.
2012-06-18 13:16:42 +00:00
Nicholas Marriott
1845800651
Strip layout from choose-windows again (leave in list-windows),
...
suggested by Romain Francoise, diff from Thomas Adam.
2012-05-28 07:59:07 +00:00
Nicholas Marriott
993f1b96a3
Fix client templates, from Romain Francoise.
2012-05-27 21:43:57 +00:00
Nicholas Marriott
196710e2d3
Simplify logging and just fprintf(stderr, ...) for early errors.
2012-05-25 08:28:10 +00:00
Nicholas Marriott
1f23f6d686
Use a predefined structure for not-space cells used to set attributes.
2012-05-23 19:19:40 +00:00
Nicholas Marriott
84c708f355
Store client in tty struct directly instead of using a callback function
...
pointer.
2012-05-22 14:32:28 +00:00
Nicholas Marriott
fe4f00834d
Store mouse data in tty structure not on the stack.
2012-05-22 14:11:30 +00:00
Nicholas Marriott
ebf94bc9cb
Switch all of the various choose- and list- commands over to the format
...
infrastructure, from Thomas Adam.
2012-05-22 11:35:37 +00:00
Nicholas Marriott
682884edc5
Add a helper function to send ready message.
2012-05-22 10:56:48 +00:00
Nicholas Marriott
2f93affb98
If there are any terminals with insert mode but not ich1, they can go
...
through the slow path. Tidies code slightly.
2012-05-22 09:36:12 +00:00
Nicholas Marriott
7a4679a17f
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.
2012-05-21 18:27:42 +00:00
Nicholas Marriott
37f9bb46d8
Add a helper function to open the terminal for attach-/new-session.
2012-05-06 07:38:17 +00:00
Nicholas Marriott
a6c22d650b
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.
2012-04-29 17:20:01 +00:00
Nicholas Marriott
ff5155f719
Add a buffer with all input from last ground state, will be used for
...
control mode. From George Nachman.
2012-04-25 21:12:49 +00:00
Nicholas Marriott
6703ca8d26
Stop accepting new clients for 1 second on EMFILE/ENFILE. Based on
...
ongoing fixes to other daemons by Theo.
2012-04-11 06:16:14 +00:00
Nicholas Marriott
ed54f01d2f
Fix comment for mouse bits.
2012-04-01 21:45:48 +00:00
Nicholas Marriott
85f5485cb5
Add a layout history which can be stepped through with select-layout -u
...
and -U commands (bound to 'u' and 'U' by default).
2012-04-01 13:18:38 +00:00
Nicholas Marriott
f59971276a
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.
2012-03-20 11:01:00 +00:00
Nicholas Marriott
d8805af66b
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.
2012-03-17 22:56:04 +00:00
Nicholas Marriott
46210344a6
Add notify hooks for various events, the functions are currently empty
...
stubs but will be filled in for control mode later. From George Nachman.
2012-03-17 22:35:09 +00:00
Nicholas Marriott
889fe42e11
Break out termios initialization into a separate function, from George
...
Nachman.
2012-03-17 21:27:51 +00:00
Nicholas Marriott
c8c0d68128
Send secondary DA to terminals with XT in terminfo when starting up and
...
parse it to work out the xterm version.
2012-03-15 10:36:00 +00:00
Nicholas Marriott
799f437eff
Remove some bits leftover from unused backoff code.
2012-03-09 21:42:13 +00:00
Nicholas Marriott
ac9ebc29a2
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.
2012-03-09 09:57:40 +00:00
Nicholas Marriott
30f4c30ca3
Add A and I keys for vi status line editing.
2012-03-04 07:38:11 +00:00
Nicholas Marriott
f4fdddc930
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.
2012-03-03 09:43:22 +00:00
Nicholas Marriott
4b8bb7770f
The wlmouse offset should be part of the client, not the server. From
...
Ailin Nemui.
2012-03-03 08:55:56 +00:00
Nicholas Marriott
07ac16807f
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.
2012-03-03 08:31:18 +00:00
Nicholas Marriott
4d9ccd3229
Add printf attribute to a couple of functions, from Tim Ruehsen.
2012-03-02 11:16:44 +00:00
Nicholas Marriott
4e7de210e4
Allow a single option to be specified to show-options to show just that
...
option.
2012-02-25 12:57:42 +00:00
Nicholas Marriott
fddbd44c18
Add a wrapper function tty_set_size from George Nachman.
2012-02-15 17:25:02 +00:00
Nicholas Marriott
8363d19307
Move window name changes into wrapper function window_set_name, from
...
George Nachman.
2012-02-02 00:10:11 +00:00
Nicholas Marriott
908a22e41c
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
2012-01-31 15:52:21 +00:00
Nicholas Marriott
0e59bc75fd
Give each window a unique id, like panes but prefixed with @. Based on
...
work from George Nachman.
2012-01-30 09:39:34 +00:00
Nicholas Marriott
230d0fbc9e
Add an option to move the status line to the top of the screen,
...
requested by many.
2012-01-29 09:37:02 +00:00
Nicholas Marriott
678e67437f
Remove unused backoff code that doesn't do any good.
2012-01-21 23:51:34 +00:00
Nicholas Marriott
8ed9124f3f
Use RB trees not SPLAY.
2012-01-21 11:12:13 +00:00
Nicholas Marriott
535286c05a
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 :-).
2012-01-21 08:40:09 +00:00
Nicholas Marriott
66f04514cf
Add a -R flag to send-keys to reset the terminal. Written ages ago and
...
Suggested by someone, I forget who.
2012-01-21 08:10:21 +00:00
Nicholas Marriott
8332413305
Add some const and fix a warning.
2012-01-20 19:54:07 +00:00
Nicholas Marriott
e6519d3e27
Add space movement keys for vi mode in the status line from Ben Boeckel.
2012-01-20 19:10:29 +00:00