summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2010-10-29We now send argv to the server after parsing it in the client to get theNicholas Marriott
command, so the client should not modify it. Instead, take a copy. Fixes parsing command lists, reported by mcbride@.
2010-10-23Add a last-pane command (bound to ; by default). Requested ages ago byNicholas Marriott
somebody whose name I have forgotten.
2010-10-23When removing a pane, don't change the active pane unless the activeNicholas Marriott
pane is actually the one being removed.
2010-10-20Mark repeating keys with "(repeat)" in the key list.Nicholas Marriott
2010-10-18Merge the before and after attach client code into one in client.cNicholas Marriott
(instead of two in tmux.c and client.c).
2010-10-16Make stdio blocking again before calling shell command with -c.Nicholas Marriott
2010-10-16Trying to set FD_CLOEXEC on every fd is a lost cause, just useNicholas Marriott
closefrom() before exec.
2010-10-16Fall back on normal session choice method if $TMUX exists but is invalidNicholas Marriott
rather than rejecting.
2010-10-14Use an explicit event rather than event_once for the main event so itNicholas Marriott
can be removed when the client becomes ready.
2010-10-14Treat the meta bit in the xterm extended modifier key set as the same asNicholas Marriott
escape (tmux's meta). From Emanuele Giaquinta.
2010-10-14Put "or" on new line from command with .Ic.Nicholas Marriott
2010-10-09Set cause when failing due to linking a window to itself, from MartinNicholas Marriott
Pieuchot.
2010-10-05Skip NULL entries in the sessions list when choosing the next session,Nicholas Marriott
from Simon Olofsson.
2010-09-28Nuke a leftover RB tree declaration spotted by blambert.Nicholas Marriott
2010-09-26Two new options:Nicholas Marriott
- server option "exit-unattached" makes the server exit when no clients are attached, even if sessions are present; - session option "destroy-unattached" destroys a session once no clients are attached to it. These are useful for preventing tmux remaining in the background where it is undesirable and when using tmux as a login shell to keep a limit on new sessions.
2010-09-26Modify the permissions on the socket when adding or removing +x to showNicholas Marriott
attached sessions, rather than replacing them.
2010-09-25detach-on-destroy is a session option, not server.Nicholas Marriott
2010-09-11Ugh. Pass the right type into tty_term_has. Teaches me to make lastNicholas Marriott
minute changes :-/.
2010-09-11Use UTF-8 line drawing characters on UTF-8 terminals. Fixes some stupidNicholas Marriott
terminals (I'm looking at you, putty) which disable the vt100 ACS mode switching sequences in UTF-8 mode. Also on terminals without ACS at all, use ASCII equivalents where obvious.
2010-09-11Ignore terminal overrides settings without a value.Nicholas Marriott
2010-09-11When resizing the copy mode screen, don't allow it to end up with theNicholas Marriott
viewable position beyond the size of the history.
2010-09-08Add -n and -p flags to switch-client to move to the next and previousNicholas Marriott
session (yes, it doesn't match window/pane, but so what, nor does switch-client). Based on a diff long ago from "edsouza".
2010-09-08Do not crash if the screen size is too small for the indicator in copy mode.Nicholas Marriott
2010-09-01Simplify xterm modifier detection by treating as a bitmask + 1. SpottedNicholas Marriott
by and diff from Emanuele Giaquinta.
2010-09-01Reset running jobs when the status line is enabled or disabled as well,Nicholas Marriott
some people have it bound to a key.
2010-08-31Add missing prototype.Nicholas Marriott
2010-08-25When destroying a pane, reset any mode (which reenables paneNicholas Marriott
bufferevent) before freeing the bufferevent.
2010-08-23Can't call event_del() without event_set() first - so call event_set()Nicholas Marriott
when setting up the client.
2010-08-22MSG_EXIT can now have a return code in the message, so check for thatNicholas Marriott
size as well. Stops the client fatal()ing on exit.
2010-08-19Do not call event_del() for signals after fork(), just use sigaction()Nicholas Marriott
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-19Do not need to dup() the tty fd sent from the client because it isNicholas Marriott
already dup()d again later. Fixes a leak seen by espie@.
2010-08-11Do not allow duplicate session names to be created, reported by DominikNicholas Marriott
Honnef, patch from Thomas Adam.
2010-08-11Handle failure to change mode, to avoid dying when switching into copyNicholas Marriott
mode when already in a different mode. Reported by "Florian".
2010-08-11Usage string fixes from Ben Boeckel.Nicholas Marriott
2010-08-11Treat trying to link or move to the same window as an error to avoidNicholas Marriott
removing it accidentally.
2010-08-11Change the way backoff works. Instead of stopping reading from the ptyNicholas Marriott
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.
2010-08-11Show which pane is active in the list-panes output, suggested by DominikNicholas Marriott
Honnef.
2010-08-04switch back to kqueue for now, since (a) kqueue has been fixed to dealTheo Deraadt
with strange devices and (b) since there appears to be a bull in the poll code in libevent as well... requested by nicm who is away
2010-07-28dup() the stdin fd so it isn't closed twice (once for stdin, once for tty).Nicholas Marriott
2010-07-24When changing so that the client passes its stdout and stderr as well asNicholas Marriott
stdin up to the server, I forgot one essential point - the tmux server could now be both the producer and consumer. This happens when tmux is run inside tmux, as well as when piping tmux commands together. So, using stdio(3) was a bad idea - if sufficient data was written, this could block in write(2). When that happened and the server was both producer and consumer, it deadlocks. Change to use libevent bufferevents for the client stdin, stdout and stderr instead. This is trivial enough for output but requires a callback mechanism to trigger when stdin is finished. This relies on the underlying polling mechanism for libevent to work with whatever devices to which the user could redirect stdin, stdout or stderr, hence the change to use poll(2) over kqueue(2) for tmux.
2010-07-24kqueue(2) is currently broken when used with /dev/null and a few otherNicholas Marriott
devices. An upcoming fix for some problems with the client stdout/stderr handling relies on it working, so make tmux force libevent to use poll(2) via EVENT_NOKQUEUE, until we have fixed kqueue.
2010-07-22Fix a crash: if remain-on-exit is set and the pane has exited, theNicholas Marriott
buffers may not be valid, so do not try to disable/enable them when switching to copy mode.
2010-07-19Don't return if in the current window since we may want to report a bellNicholas Marriott
(if bell-action any/current), just clear the flag so the status line doesn't show the bell.
2010-07-19Send the \n to stdout with the message, not stderr... doh.Nicholas Marriott
2010-07-15some escapes i missed;Jason McIntyre
2010-07-14Make pane/window wrapping more logical (so with 10 windows, +10 fromNicholas Marriott
window 5 stays in the same place), and tidy the code. From Tiago Cunha.
2010-07-11Return the command client return code with MSG_EXIT now that MSG_ERROR andNicholas Marriott
MSG_PRINT are unused. New clients should be compatible with old tmux servers but vice versa may print an error.
2010-06-29replace some magic mouse constants with defines for clarity. ok nicmTed Unangst
2010-06-29Custom layouts. list-windows command displays the layout as a string (such asNicholas Marriott
"bb62,159x48,0,0{79x48,0,0,79x48,80,0}") and it can be applied to another window (with the same number of panes or fewer) using select-layout.
2010-06-28Send all three of stdin, stdout, stderr from the client to the server, so thatNicholas Marriott
commands can directly make use of them. This means that load-buffer and save-buffer can have "-" as the file to read from stdin or write to stdout. This is a protocol version bump so the tmux server will need to be restarted after upgrade (or an older client used).