| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
Add an option to trigger the terminal bell when there is an alert, from
Marco Beck.
|
|
|
|
|
| |
Unused declaration.
|
|
|
|
|
|
|
|
|
|
|
| |
Store sessions in an RB tree by name rather than a list, this is tidier
and allows them to easily be shown sorted in various lists
(list-sessions/choose-sessions).
Keep a session index which is used in a couple of places internally but
make it an ever-increasing number rather than filling in gaps with new
sessions.
|
|
|
|
|
| |
window. From Thomas Adam.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change the way backoff works. Instead of stopping reading from the pty
when the client tty backs up too much, just stop updating the tty and
only update the internal screen. Then when the tty recovers, force a
redraw.
This prevents a dodgy client from causing other clients to go into
backoff while still allowing tmux to be responsive (locally) when seeing
lots of output.
|
|
|
|
|
|
|
| |
Don't return if in the current window since we may want to report a bell
(if bell-action any/current), just clear the flag so the status line
doesn't show the bell.
|
|
|
|
|
|
| |
Having a list of winlinks->alerts for each session is stupid, just store
the alert flags directly in the winlink itself.
|
|
|
|
|
|
| |
copy mode uses the real screen as backing and if it is updated while copying,
strange things can happen. So, freeze reading from the pty while in copy mode.
|
|
|
|
|
|
|
| |
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...
|
|
|
|
|
| |
Destroy panes immediately rather than checking them all every loop.
|
|
|
|
|
|
| |
Don't try enable/disable the event if the window pane is dead (fd == -1), as
the event will have been freed.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Switch tty fds over to a bufferevent.
|
|
|
|
|
| |
A couple of minor cosmetic changes.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Don't backoff based on suspended or deda clients as they are always likely to
have data backed up.
|
|
|
|
|
|
|
|
|
|
|
| |
If any client currently displaying a window pane has more than 1 KB of output
buffered, don't accept any further data from the process running in the pane.
This makes tmux much more responsive when flooded with output, although other
buffers can still have an impact when running remotely.
Prompted by a query from Ranganathan Sankaralingam.
|
|
|
|
|
| |
Move the poll registration functions into the server-*.c files.
|
|
Split the server code handling clients, jobs and windows off into separate
files from server.c (merging server-msg.c into the client file) and rather than
iterating over each set after poll(), allow a callback to be specified when the
fd is added and just walk once over the returned pollfds calling each callback
where needed.
More to come, getting this in so it is tested.
|