631d6b59fd
Do not fire name timer when automatic-rename is off, from Tim Ruehsen a
...
while ago.
2012-04-08 06:47:26 +00:00
c829bdf537
Minor style nits - return ().
2012-04-01 20:53:47 +00:00
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
5672f2ce6b
Check changes_timer with event_initialized before event_del.
2012-03-20 14:06:44 +00:00
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
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
d3c842d367
Check event_initialized before event_del if event may not have been set
...
up; libevent2 complains about this. Reported by Moriyoshi Koizumi.
2012-03-17 18:24:07 +00:00
8363d19307
Move window name changes into wrapper function window_set_name, from
...
George Nachman.
2012-02-02 00:10:11 +00:00
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
9bbc63ed65
Call bufferevent_free before closing file descriptor associated with it
...
or bugs in $EventMechanism on $OtherOS makes libevent get it's knickers
in a twist. From Dylan Alex Simon.
2012-01-29 02:22:11 +00:00
57df442916
Make window_pane_index work the same as window_index, from Ben Boeckel.
2011-11-15 23:19:51 +00:00
e6a59c4bee
Reject $SHELL if it is not a full path.
2011-09-25 18:53:04 +00:00
f01b7191a3
Add pane-base-index option, from Ben Barbour.
2011-08-24 10:29:57 +00:00
2b60c648c4
Get rid of the layout string code which tries to walk through the layout
...
hierarchy and instead just look at what panes are actually in the window.
2011-06-05 10:53:05 +00:00
0f97ac4221
The mouse should only work in copy mode if mode-mouse is set, not just
...
mouse-select-pane.
2011-04-18 20:57:16 +00:00
808502ac3d
Give each pane created in a tmux server a unique id (starting from 0),
...
put it in the TMUX_PANE environment variable and accept it as a
target. Suggested by and with testing and tweaks from Ben Boeckel.
2011-03-27 20:27:26 +00:00
1270f8fed8
Check if the index is in use and fail before creating the child process,
...
rather than leaving a stray child on failure.
2011-01-25 22:31:50 +00:00
69cb1f830e
Move all calls to fcntl(...O_NONBLOCK) into a function and clear the
...
flag on the stdio file descriptors before closing them (fixes things
like "tmux ls && cat").
2011-01-08 01:52:36 +00:00
2231e72968
Add a function to create window flags rather than doing the same thing
...
in two places. From Thomas Adam.
2010-12-30 21:35:17 +00:00
e26a351865
Add an option to alert (monitor) for silence (lack of activity) in a
...
window. From Thomas Adam.
2010-12-06 22:51:02 +00:00
503edae26f
Don't allow last and active window to become the same - a very bad move
...
when the active window is closed and freed. Reported by sthen@.
2010-11-14 08:58:25 +00:00
5de84eca3d
Add a last-pane command (bound to ; by default). Requested ages ago by
...
somebody whose name I have forgotten.
2010-10-23 13:04:34 +00:00
a3efd2ab5a
When removing a pane, don't change the active pane unless the active
...
pane is actually the one being removed.
2010-10-23 12:51:51 +00:00
f56b4ec2ff
Trying to set FD_CLOEXEC on every fd is a lost cause, just use
...
closefrom() before exec.
2010-10-16 08:31:55 +00:00
f69ce39a6c
When destroying a pane, reset any mode (which reenables pane
...
bufferevent) before freeing the bufferevent.
2010-08-25 19:19:43 +00:00
e3be9b1951
Do not call event_del() for signals after fork(), just use sigaction()
...
directly instead - calling libevent functions after fork() w/o
event_reinit() is a bad idea, even if in this case it was harmless.
2010-08-19 18:29:01 +00:00
43355fa75c
Make pane/window wrapping more logical (so with 10 windows, +10 from
...
window 5 stays in the same place), and tidy the code. From Tiago Cunha.
2010-07-14 18:37:49 +00:00
386849edc1
Extend the -t:+ and -t:- window targets for next and previous window to
...
accept an offset such as -t:+2. From Tiago Cunha.
2010-06-21 01:46:36 +00:00
4f5c5b37b8
Pass in the session, rather than the client, to window modes' key()
...
function. We were only ever using the client to find the session anyway.
This allows send-key to work properly for manipulating copy mode from
outside tmux.
From Micah Cowan.
2010-05-23 19:42:19 +00:00
c4a2fdf15b
Put this back in with the initialisation in the right order.
2010-05-04 17:28:16 +00:00
af5e0bd15a
Revert last change, it appears to be broken somehow.
2010-05-04 08:48:06 +00:00
ec1d37b1b2
Make signal handler setup/teardown two common functions instead of six,
...
and reset SIGCHLD after fork to fix problems with some shells. From
Romain Francois.
2010-05-03 16:06:32 +00:00
b02cd35354
Run job commands explicitly in the global enviroment (which can be
...
modified with setenv -g) rather than with the environment tmux started
with.
2010-04-04 19:02:09 +00:00
7425122c1c
Squash a function that is only called in a callback into the callback
...
function.
2010-04-04 18:48:37 +00:00
6f04866044
Support up, down, left, right movement through panes with -UDLR flags to
...
select-pane.
Also REMOVE the up- and down-pane commands: equivalent behaviour is now
available using -t :.+ and -t :.-.
2010-03-22 19:07:52 +00:00
4baafd8126
New input parser based on http://vt100.net/emu/dec_ansi_parser .
2010-03-22 19:02:54 +00:00
8aba77b7be
Instead of bailing out on the first configuration file error, carry on,
...
collecting all the errors, then start with the active window in more mode
displaying them.
2010-02-06 17:15:33 +00:00
15a64b805e
Massive spaces->tabs and trailing whitespace cleanup, hopefully for the last
...
time now I've configured emacs to make them displayed in really annoying
colours...
2009-12-03 22:50:09 +00:00
4ca857e0e9
Remove a couple of unused arguments where possible, and add /* ARGSUSED */ to
...
the rest to reduce lint output.
2009-11-26 21:37:13 +00:00
33b337f618
Change status line drawing to create the window list in a separate screen and
...
then copy it into the status line screen. This allows UTF-8 in window names and
fixes some problems with #[] in window-status-format.
2009-11-19 19:47:28 +00:00
8e47966225
Destroy panes immediately rather than checking them all every loop.
2009-11-13 17:33:07 +00:00
44d6a2c435
Change window name change to use a timer event rather than a gettimeofday()
...
check every loop.
2009-11-04 23:54:57 +00:00
a02c7e804c
Convert the window pane (pty master side) fd over to use a bufferevent.
...
The evbuffer API is very similar to the existing tmux buffer API so this was
remarkably painless. Not many possible ways to do it, I suppose.
2009-11-04 22:43:11 +00:00
91ad830c88
Switch window pane pipe redirect fd over to a bufferevent.
2009-11-04 22:02:38 +00:00
abf3a5d50e
Initial changes to move tmux to libevent.
...
This moves the client-side loops are pretty much fully over to event-based only
(tmux.c and client.c) but server-side (server.c and friends) treats libevent as
a sort of clever poll, waking up after every event to run various things.
Moving the server stuff over to bufferevents and timers and so on will come
later.
2009-11-04 20:50:11 +00:00
fd35b6f836
Only redraw the pane when changing mode, not the entire window.
2009-10-22 12:30:00 +00:00
2afe395ff2
Stop updating the screen when not in output mode, stops copy mode getting
...
confused.
2009-10-19 13:18:13 +00:00
64b5f39656
Add a pipe-pane command to allow a pane to be piped to a shell command, for
...
example:
pipe-pane 'cat >~/out'
No arguments stops outputing and closes the pipe; the -o flag toggles a pipe
and on and off (useful for key bindings).
Suggested by espie@.
2009-10-11 10:04:27 +00:00
4bc0f6e7e9
Clean up by introducing a wrapper struct for mouse clicks rather than passing
...
three u_chars around.
As a side-effect this fixes incorrectly rejecting high cursor positions
(because it was comparing them as signed char), reported by Tom Doherty.
2009-10-11 07:01:10 +00:00
2988c594cc
Accept key and mouse input for keys in zombified windows if they are in a mode..
2009-10-10 15:29:34 +00:00