| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
xfree is not particularly helpful, remove it. From Thomas Adam.
|
|
|
|
|
| |
Clear flags across all sessions, from Thomas Adam.
|
|
|
|
|
|
| |
Use default-shell not _PATH_BSHELL to spawn commands, pointed out by
Dennis G?nnewig and Thomas Adam.
|
|
|
|
|
|
| |
Do not fire name timer when automatic-rename is off, from Tim Ruehsen a
while ago.
|
|
|
|
|
| |
Minor style nits - return ().
|
|
|
|
|
|
| |
Add a layout history which can be stepped through with select-layout -u
and -U commands (bound to 'u' and 'U' by default).
|
|
|
|
|
| |
Check changes_timer with event_initialized before event_del.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Add notify hooks for various events, the functions are currently empty
stubs but will be filled in for control mode later. From George Nachman.
|
|
|
|
|
|
| |
Check event_initialized before event_del if event may not have been set
up; libevent2 complains about this. Reported by Moriyoshi Koizumi.
|
|
|
|
|
|
| |
Move window name changes into wrapper function window_set_name, from
George Nachman.
|
|
|
|
|
|
| |
Give each window a unique id, like panes but prefixed with @. Based on
work from George Nachman.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Make window_pane_index work the same as window_index, from Ben Boeckel.
|
|
|
|
|
| |
Reject $SHELL if it is not a full path.
|
|
|
|
|
| |
Add pane-base-index option, from Ben Barbour.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Date: 2011/06/05 11:53:05
Author: nicm
Branch: HEAD
Tag: (none)
Log:
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.
|
|
|
|
|
|
|
|
|
|
|
| |
|Date: 2011/04/18 21:57:16
|Author: nicm
|Branch: HEAD
|Tag: (none)
|Log:
|The mouse should only work in copy mode if mode-mouse is set, not just
|mouse-select-pane.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Date: 2011/03/27 21:27:26
Author: nicm
Branch: HEAD
Tag: (none)
Log:
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.
|
|
|
|
|
|
| |
Check if the index is in use and fail before creating the child process,
rather than leaving a stray child on failure.
|
|
|
|
|
|
|
| |
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").
|
|
|
|
|
|
| |
Add a function to create window flags rather than doing the same thing
in two places. From Thomas Adam.
|
|
|
|
|
| |
window. From Thomas Adam.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Date: 2010/11/14 08:58:25
Author: nicm
Branch: HEAD
Tag: (none)
Log:
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@.
Members:
window.c:1.58->1.59
|
|
|
|
|
|
| |
Add a last-pane command (bound to ; by default). Requested ages ago by
somebody whose name I have forgotten.
|
|
|
|
|
|
| |
When removing a pane, don't change the active pane unless the active
pane is actually the one being removed.
|
|
|
|
|
|
| |
Trying to set FD_CLOEXEC on every fd is a lost cause, just use
closefrom() before exec.
|
|
|
|
|
| |
recently Timothy Larson.
|
|
|
|
|
|
| |
When destroying a pane, reset any mode (which reenables pane
bufferevent) before freeing the bufferevent.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Extend the -t:+ and -t:- window targets for next and previous window to
accept an offset such as -t:+2. From Tiago Cunha.
|
|
|
|
|
| |
We were only ever using the client to find the session anyway.
|
|
|
|
|
|
|
| |
Make signal handler setup/teardown two common functions instead of six,
and reset SIGCHLD after fork to fix problems with some shells. From
Romain Francoise.
|
|
|
|
|
|
| |
modified with setenv -g) rather than with the environment tmux started
with.
|
|
|
|
|
| |
callback function.
|
|
|
|
|
|
|
|
| |
select-pane.
Also remove up- and down-pane: equivalent behaviour is now available
using -t :.+ and -t :.-.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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...
|
|
|
|
|
|
| |
Remove a couple of unused arguments where possible, and add /* ARGSUSED */ to
the rest to reduce lint output.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Destroy panes immediately rather than checking them all every loop.
|
|
|
|
|
|
| |
Change window name change to use a timer event rather than a gettimeofday()
check every loop.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Switch window pane pipe redirect fd over to a bufferevent.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|