summaryrefslogtreecommitdiff
path: root/usr.bin/tmux
AgeCommit message (Collapse)Author
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 de Raadt
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).
2010-06-27Store the current working directory in the session, change the default-pathNicholas Marriott
option to default to empty and make that mean that the stored session CWD is used.
2010-06-27New option, detach-on-destroy, to set what happens to a client when the sessionNicholas Marriott
it is attached to is destroyed. If on (the default), it is detached; if off, it is switched to the most recently active session.
2010-06-26Use server_destroy_session() for kill-session.Nicholas Marriott
2010-06-26Setting the cmdlist pointer in the bind-key to NULL to prevent it being freedNicholas Marriott
after the command is executing is bogus because it may still be needed if the same command is going to be executed again (for example if you "bind-key a bind-key b ..."). Making a copy is hard, so instead add a reference count to the cmd_list. While here, also print bind-key -n and the rest of the flags properly. Fixes problem reported by mcbride@.
2010-06-21Add a choose-buffer command for easier use of the paste buffer stack.Nicholas Marriott
2010-06-21Extend the -t:+ and -t:- window targets for next and previous window toNicholas Marriott
accept an offset such as -t:+2. From Tiago Cunha.
2010-06-21Having a list of winlinks->alerts for each session is stupid, just storeNicholas Marriott
the alert flags directly in the winlink itself.
2010-06-21Rename activity->alert in a couple of functions for consistency.Nicholas Marriott
2010-06-21Give tmux sockets (but not the containing folder) groupNicholas Marriott
permissions. This allows hardlinks to the sockets to be used more easily.
2010-06-21Ensure we overwrite UTF-8 wide characters properly, and never overwriteNicholas Marriott
characters we weren't overlapping. Fixes "disappearing wide characters" glitch. From Micah Cowan.
2010-06-14Last change erroneously used the target argument for looking up theNicholas Marriott
client which caused pipe-pane to fail when used from the command line. Instead pass NULL which should use the current client. Spotted by Tiago Cunha.
2010-06-14Add a missing command and some missing Ic, from Tiago Cunha.Nicholas Marriott
2010-06-06Use a macro-based mask for obtaining a key or modifier-set from theNicholas Marriott
combination. Display C-@, etc, as C-Space, in list-keys. By Micah Cowan.
2010-06-05Couple of missing command aliases/flags, from Tiago Cunha.Nicholas Marriott
2010-06-05Fix problems with window sizing seen by Raghavendra D Prabhu whenNicholas Marriott
starting tmux from .xinitrc. One of the very few things the server relies on the client for now is to pass through a message on SIGWINCH, but there is a condition where potentially a SIGWINCH may be lost during the transition from unattached (main.c) to attached (client.c). So trigger a size change immediately after the client installs its SIGWINCH handler. Also, when the terminal is resized, reset the scroll region and cursor position. Previously, we were clearing our saved idea of these, but in fact some terminals do not reset them on resize, so this caused problems during redraw. While here make a resize to the same size not cause a redraw and rename the tmux.out output log file to include the tmux PID.
2010-06-05Support the status_replace # replacement sequences in the pipe-paneNicholas Marriott
command, thanks to Andrea Barisani.
2010-06-05Shut up gcc4 warnings.Nicholas Marriott
2010-06-05This ioctl(TIOCGWINSZ) call is no longer necessary, the result is neverNicholas Marriott
used and the server now does it later on the tty fd directly.
2010-06-05Fix binding of C-Space/C-@, from Micah Cowan.Nicholas Marriott
2010-06-05Make start-of-line work the same as end-of-line on wrapped lines (jumpNicholas Marriott
to real start if at edge of screen). By Micah Cowan.
2010-05-31When the mode-mouse option is on, support dragging to make a selectionNicholas Marriott
in copy mode. Also support the scroll wheel, although xterm strangely does not ignore it in application mouse mode, causing redraw artifacts when scrolling up (other terminals appear to be better behaved).
2010-05-30Better to say "command key bindings" since we've just called themNicholas Marriott
command keys.
2010-05-30There is no real reason not to list all the key bindings here ratherNicholas Marriott
than just a selection.
2010-05-26Move imsg into libutil and add a man page.Nicholas Marriott
Minor bump for libutil. Previous versions of this diff and man page looked at by various people. "you should just commit" deraadt
2010-05-26Rename some imsg bits to make namespace collisions less likely buf toNicholas Marriott
ibuf, buf_read to ibuf_read, READ_BUF_SIZE to IBUF_READ_SIZE. ok henning gilles claudio jacekm deraadt
2010-05-25Don't die if the client has been detached when the job finishes, justNicholas Marriott
don't display the output.
2010-05-25Fix an out-of-date comment.Nicholas Marriott
2010-05-23Pass in the session, rather than the client, to window modes' key()Nicholas Marriott
function. We were only ever using the client to find the session anyway. This allows send-key to work properly for manipulating copy mode from outside tmux. From Micah Cowan.
2010-05-19Enhance paste-buffer to allow lines to be separated by any string, fromNicholas Marriott
Andrea Barisani.