| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| |
| | |
the error callback).
|
| |
| |
| |
| | |
attached, rather than every event loop.
|
| | |
|
| |
| |
| |
| | |
only wake up when an event happens.
|
| |
| |
| |
| | |
be done better but one every second is better than once every 50 ms.
|
| |
| |
| |
| | |
to it and call it after the event triggers or after a imsg is added.
|
| | |
|
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
set up events.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
chance of dropping signals. Pointed out by deraadt@.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
instantly when reattached.
|
| | |
|
| | |
|
| |
| |
| |
| | |
pane.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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@.
|
| | |
|
| |
| |
| |
| | |
all input (the socket is closed) and status is available.
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
polling into their own function.
|
| |
| |
| |
| | |
running through all the clients.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
immediately every redraw, queue them up and run them in the background,
starting each once every status-interval. The actual status line uses the
output from the last run.
This brings several advantages:
- tmux itself may be called from inside #() without causing the server to hang;
- likewise, sleep or similar doesn't cause the server to block;
- commands aren't run excessively often when redrawing;
- commands shared by status-left and status-right, or used multiple times, will
only be run once.
run-shell and if-shell still use system()/popen() but will be changed over to
use this too later.
|
| |
| |
| |
| |
| |
| | |
current pane.
Suggested by sthen@ and also by someone else ages ago who I have forgotten.
|
| |
| |
| |
| |
| |
| |
| |
| | |
so on but where the linked windows are synchronized (ie creating, killing
windows and so on are mirrored between the sessions). A grouped session may be
created by passing -t to new-session.
Had this around for a while, tested by a couple of people.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
the lock-server option (it is on by default). When this is off, each session
locks when it has been idle for the lock-after-time setting. When on, the
entire server locks when ALL sessions have been idle for their individual
lock-after-time settings.
This replaces one global-only option (lock-after-time) with another
(lock-server), but the default behaviour is usually preferable so there don't
seem to be many alternatives.
Diff/idea largely from Thomas Adam, tweaked by me.
|
| |
| |
| |
| |
| |
| |
| | |
them into a tree and then convert into a flat poll array before and after poll.
This adds a little code but should reduce annoying problems with ordering when
adding new things that also need to be polled.
|
| |
| |
| |
| |
| |
| | |
current client, in a similar manner to how sessions already work: if the
current session can be established and has only one client, use that; otherwise
use the most recently created client.
|
| | |
|
| |
| |
| |
| |
| | |
otherwise the server will hang around (refusing new connections) until they
exit properly.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
command specified by a new option "lock-command" (by default "lock -np") in
each client.
This means each terminal has to be unlocked individually but simplifies the
code and allows the system password to be used to unlock.
Note that the set-password command is gone, so it will need to be removed from
configuration files, and the -U command line flag has been removed.
This is the third protocol version change so again it is best to stop the tmux
server before upgrading.
|
| |
| |
| |
| |
| |
| |
| | |
set -g prefix ^a,^b
Any key in the list acts as the prefix. The send-prefix command always sends
the first key in the list.
|
| | |
|
| |
| |
| |
| |
| | |
for status-left/right) if set-titles is on. Also only update the title when the
status line is being redrawn.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
palette by setting "colour0" to "colour255".
|
| |
| |
| |
| | |
pane with that index.
|
| |
| |
| |
| | |
cmd-choose-*.
|
| |
| |
| |
| | |
ok nicm@
|
| |
| |
| |
| |
| |
| | |
second all the time.
Reported by Simon Nicolussi.
|
| | |
|
| |
| |
| |
| | |
with the right message.
|