| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
| |
Don't return 1 unless there was actually a problem (signal/lost server) rather
than for all events (normal exit/detach/etc).
|
|
|
|
|
|
| |
Just ignore tty fd errors rather than dying, stops the server dying if the
session is disconnected abrubtly (eg ssh ~.).
|
|
|
|
|
|
| |
The input key should be a u_char. Fixes top-bit-set input problem reported by
ajacoutot@.
|
|
|
|
|
| |
Constify buf.
|
| |
|
| |
|
|
|
|
|
|
| |
Don't try enable/disable the event if the window pane is dead (fd == -1), as
the event will have been freed.
|
|
|
|
|
|
|
| |
Clear to the end of the screen from the right starting point when drawing
line-by-line (in panes or if ed not supported). Fixes problem spotted by Frank
Terbeck.
|
|
|
|
|
| |
Old xterm F1-F4 are \033O_P not \033[O_P.
|
|
|
|
|
| |
Unused variable. Aargh.
|
|
|
|
|
|
|
|
|
| |
Switch the tty key tree over to an (unbalanced) ternary tree which allows
partial matches to be done (they wait for further data or a timer to expire,
like a naked escape).
Mouse and xterm-style keys still expect to be atomic.
|
|
|
|
|
|
|
| |
key_string_lookup_key uses a static buffer, so copy its output into the working
buffer before calling the command print function which can also use it (eg
send-keys).
|
|
|
|
|
|
| |
Key flags are only used for initialisation so they are not needed in the main
tty_key struct.
|
|
|
|
|
| |
EVLOOP_ONCE takes care of the wakeup, so no need to call event_loopexit(NULL).
|
|
|
|
|
|
| |
Now all timers are events, there is no longer any need to wake up every 50 ms -
only wake up when an event happens.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Switch tty key input over to happen on a read event. This is a bit more
complicated because of escape input, but in that case instead of processing a
key immediately, schedule a timer and reprocess the bufer when it expires.
This currently assumes that keys will be atomic (ie that if eg F1 is pressed
the entire sequence is present in the buffer). This is usually but not always
true, a change in the tree format so it can differentiate potential (partial)
key sequences will happens soon and will allow this to be fixed.
|
|
|
|
|
| |
Convert the key repeat timer to an event.
|
| |
|
|
|
|
|
|
| |
Change window name change to use a timer event rather than a gettimeofday()
check every loop.
|
|
|
|
|
|
| |
Move status timer check into the global once-per-second timer, this could maybe
be done better but one every second is better than once every 50 ms.
|
|
|
|
|
| |
Use timeout events for the identify and message timers.
|
|
|
|
|
|
| |
Don't reenlist the client imsg event every loop, instead have a small function
to it and call it after the event triggers or after a imsg is added.
|
|
|
|
|
|
| |
It would help if I read my own comments... make alt keys work again by sending
alt AND the key not alt instead of it.
|
|
|
|
|
| |
Move some common code into a function.
|
|
|
|
|
| |
Tell the client to exit on configuration file error.
|
|
|
|
|
| |
Bye-bye buffer*.c.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Call event_init() before loading the config file, since potentially it could
set up events.
|
|
|
|
|
| |
Switch window pane pipe redirect fd over to a bufferevent.
|
|
|
|
|
| |
Switch tty fds over to a bufferevent.
|
|
|
|
|
| |
Add back JOB_PERSIST checks that got lost.
|
|
|
|
|
| |
Switch jobs over to use 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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Unused (but assigned to) variable, found by lint.
|
|
|
|
|
| |
Ignore the colour on space, /not/ the attributes.
|
|
|
|
|
|
| |
Fix the reverse emulation when a terminal doesn't have setab to use the correct
fg/bg (adjusted if spaces) and happen before attribute setting.
|
|
|
|
|
| |
malloc_options on DragonFlyBSD, and FreeBSD.
|
|
|
|
|
|
| |
Change declaration and use of malloc_options to be more standard, from Tim van
der Molen.
|
|
|
|
|
|
| |
Don't backoff based on suspended or deda clients as they are always likely to
have data backed up.
|
|
|
|
|
|
|
|
|
|
| |
Add an activity time for clients, like for sessions, and change session and
client lookup to pick the most recently used rather than the most recently
created - this is much more useful when used interactively and (because the
activity time is set at creation) should have no effect on source-file.
Based on a problem reported by Jan Johansson.
|
|
|
|
|
|
|
| |
If it isn't available explicitly, work out the current client in a similar way
to the current session - build a list of the possibilities then pick the
newest.
|
|
|
|
|
|
|
|
|
|
| |
Change session and client activity and creation time members to have more
meaningful names.
Also, remove the code to try and update the session activity time for the
command client when a command message is received as is pointless because it
des not have a session.
|
|
|
|
|
|
| |
tv member of struct paste_buffer is updated but not otherwise used, so remove
it.
|