aboutsummaryrefslogtreecommitdiff
path: root/tmux.c
Commit message (Collapse)AuthorAge
...
| * Merge the before and after attach client code into one in client.cNicholas Marriott2010-10-18
| | | | | | | | (instead of two in tmux.c and client.c).
| * Make stdio blocking again before calling shell command with -c.Nicholas Marriott2010-10-16
| |
| * Trying to set FD_CLOEXEC on every fd is a lost cause, just useNicholas Marriott2010-10-16
| | | | | | | | closefrom() before exec.
| * Use an explicit event rather than event_once for the main event so itNicholas Marriott2010-10-14
| | | | | | | | can be removed when the client becomes ready.
| * Two new options:Nicholas Marriott2010-09-26
| | | | | | | | | | | | | | | | | | | | | | | | - 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.
| * Do not call event_del() for signals after fork(), just use sigaction()Nicholas Marriott2010-08-19
| | | | | | | | | | directly instead - calling libevent functions after fork() w/o event_reinit() is a bad idea, even if in this case it was harmless.
| * switch back to kqueue for now, since (a) kqueue has been fixed to dealTheo Deraadt2010-08-04
| | | | | | | | | | | | 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
| * kqueue(2) is currently broken when used with /dev/null and a few otherNicholas Marriott2010-07-24
| | | | | | | | | | | | | | | | 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.
| * Return the command client return code with MSG_EXIT now that MSG_ERROR andNicholas Marriott2010-07-11
| | | | | | | | | | | | | | MSG_PRINT are unused. New clients should be compatible with old tmux servers but vice versa may print an error.
| * Send all three of stdin, stdout, stderr from the client to the server, so thatNicholas Marriott2010-06-28
| | | | | | | | | | | | | | | | 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).
| * Store the current working directory in the session, change the default-pathNicholas Marriott2010-06-27
| | | | | | | | | | option to default to empty and make that mean that the stored session CWD is used.
| * New option, detach-on-destroy, to set what happens to a client when the sessionNicholas Marriott2010-06-27
| | | | | | | | | | it is attached to is destroyed. If on (the default), it is detached; if off, it is switched to the most recently active session.
| * Setting the cmdlist pointer in the bind-key to NULL to prevent it being freedNicholas Marriott2010-06-26
| | | | | | | | | | | | | | | | | | | | | | 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@.
| * Colour+attribute options for status line alerts, from Alex Alexander.Nicholas Marriott2010-05-14
| |
| * Put this back in with the initialisation in the right order.Nicholas Marriott2010-05-04
| |
| * Revert last change, it appears to be broken somehow.Nicholas Marriott2010-05-04
| |
| * Make signal handler setup/teardown two common functions instead of six,Nicholas Marriott2010-05-03
| | | | | | | | | | and reset SIGCHLD after fork to fix problems with some shells. From Romain Francois.
| * Make the active pane border have a green foreground instead ofNicholas Marriott2010-04-28
| | | | | | | | background by default.
| * Catch SIGCHLD to avoid a zombie, from patrick keshishian.Nicholas Marriott2010-04-18
| |
| * Option to set the characters considered word separators in copy mode, fromNicholas Marriott2010-02-22
| | | | | | | | Micah Cowan.
| * Add an option to disable the smcup/rmcup alternate screen behaviour insideNicholas Marriott2010-02-08
| | | | | | | | tmux. From clemens fischer.
| * Change nested check to compare server socket path rather than just assumingNicholas Marriott2010-02-06
| | | | | | | | that if $TMUX is set it is nested. From Micah Cowan.
| * Clean up $TMUX parsing, from Micah Cowan, tweaked by me.Nicholas Marriott2010-02-06
| |
| * Instead of bailing out on the first configuration file error, carry on,Nicholas Marriott2010-02-06
| | | | | | | | | | collecting all the errors, then start with the active window in more mode displaying them.
| * Read the path from $TMUX if it is present and -L and -S are not given. Based onNicholas Marriott2010-02-04
| | | | | | | | a diff from Micah Cowan.
| * Option to display the active pane in a different colour with the display-panesNicholas Marriott2010-02-04
| | | | | | | | command. From Paul Hoffman, thanks.
| * Options to set the colour of the pane borders, with different colours for theNicholas Marriott2010-01-03
| | | | | | | | active pane.
| * New server option, escape-time, to set the timeout used to detect if escapesNicholas Marriott2009-12-14
| | | | | | | | are alone or part of a function key or meta sequence.
| * Use quiet variable, and add missing sentinel to options array.Nicholas Marriott2009-12-11
| |
| * Add "server options" which are server-wide and not bound to a session orNicholas Marriott2009-12-10
| | | | | | | | | | | | | | window. Set and displayed with "set -s" and "show -s". Currently the only option is "quiet" (like command-line -q, allowing it to be set from .tmux.conf), but others will come along.
| * Massive spaces->tabs and trailing whitespace cleanup, hopefully for the lastNicholas Marriott2009-12-03
| | | | | | | | | | time now I've configured emacs to make them displayed in really annoying colours...
| * Remove a couple of unused arguments where possible, and add /* ARGSUSED */ toNicholas Marriott2009-11-26
| | | | | | | | the rest to reduce lint output.
| * Two new options, window-status-format and window-status-current-format, whichNicholas Marriott2009-11-19
| | | | | | | | | | | | | | | | allow the format of each window in the status line window list to be controlled using similar # sequences as status-left/right. This diff also moves part of the way towards UTF-8 support in window names but it isn't quite there yet.
| * Revert to xterm-keys off by default. It was on as an experiment to see if theNicholas Marriott2009-11-19
| | | | | | | | | | option could be removed, but it affects vi, so we have to keep the option, and a conservative default is better.
| * Add a per-client log of status line messages displayed while that clientNicholas Marriott2009-11-18
| | | | | | | | | | | | | | | | exists. A new message-limit session option sets the maximum number of entries and a command, show-messages, shows the log (bound to ~ by default). This (and prompt history) might be better as a single global log but until there are global options it is easier for them to be per client.
| * There is no real standard for modifier plus function keys. Previously, tmuxNicholas Marriott2009-11-10
| | | | | | | | | | | | | | | | output some from rxvt but in other ways did the same as xterm or other terminals, but this is a bit inconsistent. xterm's method is fairly sensible and we already support it (xterm-keys), so enable it by default instead.
| * A couple of minor cosmetic changes.Nicholas Marriott2009-11-04
| |
| * Initial changes to move tmux to libevent.Nicholas Marriott2009-11-04
| | | | | | | | | | | | | | | | | | 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.
| * Change declaration and use of malloc_options to be more standard, from Tim vanNicholas Marriott2009-11-04
| | | | | | | | der Molen.
| * tabs are better; ok nicmTheo Deraadt2009-10-26
| |
| * Remove the -d flag to tmux and just use op/AX to detect default colours.Nicholas Marriott2009-10-25
| | | | | | | | | | | | | | | | | | | | | | | | Irritatingly, although op can be used to tell if a terminal supports default colours, it can't be used to set them because in some terminfo descriptions it resets attributes as a side-effect (acts as sgr0) and in others it doesn't, so it is not possible to determine reliably what the terminal state will be afterwards. So if AX is missing and op is present, tmux just sends sgr0. Anyone using -d for a terminal who finds they actually needed it can replace it using terminal-overrides, but please let me know as it is probably an omission from terminfo.
| * Merge prepare_cmd into main as it is short and only called once.Nicholas Marriott2009-10-22
| |
| * Client tidying: get rid of client_ctx struct in favour of two variables inNicholas Marriott2009-10-21
| | | | | | | | client.c, and move the functions in client-fn.c into other files.
| * New option, mouse-select-pane. If on, the mouse may be used to select theNicholas Marriott2009-10-10
| | | | | | | | | | | | current pane. Suggested by sthen@ and also by someone else ages ago who I have forgotten.
| * Support for individual session idle time locking. May be enabled by turning offNicholas Marriott2009-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Add a simple synchronize-panes window option: when set, all input to any paneNicholas Marriott2009-10-09
| | | | | | | | | | that is part of the window is also sent to all other panes in the same window. Suggested by several, most recently Tomasz Pajor.
| * Support -c like sh(1) to execute a command, useful when tmux is a loginNicholas Marriott2009-09-23
| | | | | | | | | | | | | | shell. Suggested by halex@. This includes another protocol version increase (the last for now) so again restart the tmux server before upgrading.
| * Remove the internal tmux locking and instead detach each client and run theNicholas Marriott2009-09-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Permit multiple prefix keys to be defined, separated by commas, for example:Nicholas Marriott2009-09-22
| | | | | | | | | | | | | | 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.
| * New option, set-titles-string, to allow the window title to be specified (asNicholas Marriott2009-09-18
| | | | | | | | | | for status-left/right) if set-titles is on. Also only update the title when the status line is being redrawn.