771d7db3a6
Fix compiler warnings, missing #include. From Thomas Adam.
2013-03-26 10:54:48 +00:00
e44bd9f750
Revert the command-prefix change which breaks sequences of commands.
2013-03-25 15:59:57 +00:00
58bb6f8c56
Set pane resize flag when needed.
2013-03-25 11:55:01 +00:00
114d822d27
Don't zoom windows with one pane, from Romain Francoise.
2013-03-25 11:39:11 +00:00
c71844de63
Add resize-pane -Z to temporary zoom the active pane to occupy the full
...
window or unzoom (restored to the normal layout) if it already zoomed,
bound to C-b z by default. The pane is unzoomed on pretty much any
excuse whatsoever.
We considered making this a new layout but the requirements are quite
different from layouts so decided it is better as a special case. Each
current layout cell is saved, a temporary one-cell layout generated and
all except the active pane set to NULL.
Prompted by suggestions and scripts from several. Thanks to Aaron Jensen
and Thiago Padilha for testing an earlier version.
2013-03-24 09:57:59 +00:00
3eae71b5b2
Do pane resize ioctls once at the end of the server loop rather than
...
immediately.
2013-03-24 09:25:04 +00:00
8d59b189cc
No more lint means no more ARGSUSED.
2013-03-22 10:31:22 +00:00
8903c1f167
Automatically reflow wrapped lines when a pane is resized, requested by
...
many over the years and finally implemented by Richard Woodbury.
2013-02-05 11:08:59 +00:00
e33ba57c13
Remove the layout undo/redo code which never really worked.
2013-01-17 00:11:22 +00:00
24d7d073ff
Support the 47 and 1047 SM and RM sequences (alternate screen without
...
cursor), requested by I forget who ages ago.
2012-11-27 20:08:42 +00:00
d210d99cce
Make mouse event structure clearer by defining events (up, click, drag)
...
and simplifying how buttons and wheels are represented, from Ailin
Nemui. Should be no functional changes.
2012-10-26 14:35:42 +00:00
596e9d8068
Fix bad size in memcpy from Romain Francoise.
2012-10-25 11:14:46 +00:00
58e8e0eac8
Fix up window reference counting and don't crash if the rename timer
...
fires while the window is dead but still referenced. Fixes problem
reported by Michael Scholz.
2012-08-21 10:00:33 +00:00
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
df912e3540
xfree is not particularly helpful, remove it. From Thomas Adam.
2012-07-10 11:53:01 +00:00
63f5c38023
Clear flags across all sessions, from Thomas Adam.
2012-07-08 07:27:32 +00:00
f51c55c3f0
Use default-shell not _PATH_BSHELL to spawn commands, pointed out by
...
Dennis G?nnewig and Thomas Adam.
2012-05-28 08:55:43 +00:00
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