summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/server-client.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Turn cursor off during redraw, pointed out by George Nachman.nicm2015-05-061-8/+18
|
* Make message log a TAILQ.nicm2015-04-251-7/+6
|
* Convert clients list into a TAILQ.nicm2015-04-241-38/+9
|
* Change the windows array into an RB tree and fix some places where wenicm2015-04-221-6/+2
| | | | were only looking at the first winlink for a window in a session.
* Don't eat the mouse event that triggers a drag end because we may wantnicm2015-04-211-2/+2
| | | | to pass it on to application inside the pane.
* Support for multiple key tables to commands to be bound to sequences ofnicm2015-04-201-63/+95
| | | | | | | keys. The default key bindings become the "prefix" table and -n the "root" table. Keys may be bound in new tables with bind -T and switch-client -T used to specify the table in which the next key should be looked up. Based on a diff from Keith Amling.
* Rewrite of tmux mouse support which was a mess. Instead of havingnicm2015-04-191-88/+245
| | | | | | | | | | | | | | | | | | | | | | | | | options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on). See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event). The default builtin bindings for the mouse are: bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M To get the effect of turning mode-mouse off, do: unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
* Support setting the default window and pane background colours (windownicm2015-04-191-3/+2
| | | | | and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
* Fix some format specifier nits, from Ben Boeckel.nicm2015-03-311-2/+2
|
* Use formats not status_replace for set-titles-string.nicm2015-02-061-5/+11
|
* Remove two unused arguments from status_replace.nicm2015-02-011-2/+2
|
* Fix some spacing nits.nicm2014-10-221-3/+3
|
* Update status when pane selected with mouse, from Balazs Kezes.nicm2014-10-021-1/+2
|
* Various minor style and spacing nits.nicm2014-09-011-2/+2
|
* Remove support for the continuous reporting "any" mouse mode which nevernicm2014-08-091-2/+2
| | | | really worked properly and is rarely used.
* An EOF is a good reason to close a connection.krw2014-07-131-2/+2
| | | | ok nicm@
* If a client is killed while suspended with ^Z so has gone through thenicm2014-07-131-1/+4
| | | | | MSG_EXITED dance, don't try to resume it since a) it's pointless and b) the tty structures have been cleaned up and tmux will crash.
* Because we pass the file descriptor from client to server, tmux can'tnicm2014-04-161-1/+6
| | | | usefully work if stdin is /dev/tty. Complain about it more clearly.
* Change terminal-overrides to a server option (now that we have them), itnicm2014-02-231-7/+3
| | | | doesn't make much sense as a session option.
* Be consistent and allow only mouse down and mouse wheel for any panenicm2014-02-171-3/+3
| | | | | with mouse-select-pane rather than just in copy mode, reported by Balazs Kezes.
* Make status-interval of zero work as indented.nicm2014-02-141-2/+2
|
* Style nit - no space between function name and bracket.nicm2014-02-141-6/+6
|
* Break up and simplify screen_redraw_screen.nicm2014-01-311-4/+4
|
* from nicm: : handle msgbuf_write() returning EAGAINbenno2013-11-131-2/+4
|
* Do not run any command line command from the client which starts thenicm2013-10-201-4/+7
| | | | | | server until after the configuration file completes. This prevents it racing against run-shell or if-shell in .tmux.conf that run in the background.
* Don't leak file descriptors in the rare MSG_VERSION case. From Chrisnicm2013-10-111-1/+3
| | | | Johnsen.
* We accidentally haven't been using $TMUX to work out the session for anicm2013-10-101-1/+3
| | | | | | while and in fact it is less useful that using the client ttyname. So don't bother and don't pass it from the client. If we need it in future it is in c->environ.
* Don't look at string[length - 1] if length == 0.nicm2013-10-101-4/+4
|
* Alter how tmux handles the working directory to internally use filenicm2013-10-101-41/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | descriptors rather than strings. - Each session still has a current working directory. - New sessions still get their working directory from the client that created them or its attached session if any. - New windows are created by default in the session working directory. - The -c flag to new, neww, splitw allows the working directory to be overridden. - The -c flag to attach let's the session working directory be changed. - The default-path option has been removed. To get the equivalent to default-path '.', do: bind c neww -c $PWD To get the equivalent of default-path '~', do: bind c neww -c ~ This also changes the client identify protocol to be a set of messages rather than one as well as some other changes that should make it easier to make backwards-compatible protocol changes in future.
* Similarly for MSG_COMMAND - allow full imsg limit not arbitrary 2048.nicm2013-10-101-19/+28
|
* Instead of fixed size buffers for some messages, send only the stringnicm2013-10-101-12/+4
| | | | length.
* retcode -> retval for exit message.nicm2013-10-101-2/+2
|
* Merge IDENTIFY_* flags with CLIENT_* flags.nicm2013-10-101-6/+6
|
* Allow the file descriptor received from the client to be -1.nicm2013-10-101-3/+3
|
* Focus events can cause trouble if left on and they can't be turned offnicm2013-06-231-1/+5
| | | | | during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
* Always push a focus event when the application turns it on, prompted bynicm2013-06-231-3/+8
| | | | discussion with Hayaki Saito a while ago.
* Don't let server_client_check_focus use a dead bufferevent, from Romainnicm2013-04-211-4/+6
| | | | Francoise.
* Remove some code not needed on OpenBSD.nicm2013-04-101-12/+2
|
* Remove tmux's (already minimal) 88 colour support. Such terminals arenicm2013-03-271-3/+1
| | | | few and unnecessary.
* Sort includes and fix spaces.nicm2013-03-251-3/+3
|
* Use single stdout and stderr for control clients.nicm2013-03-251-2/+5
|
* Send DSC 1000p at the beginning of a -CC client's lifetime and ST andnicm2013-03-251-1/+3
| | | | the end, from George Nachman.
* Add resize-pane -Z to temporary zoom the active pane to occupy the fullnicm2013-03-241-1/+2
| | | | | | | | | | | | | | window or unzoom (restored to the normal layout) if it already zoomed, bound to C-b z by default. The pane is unzoomed on pretty much any excuse whatsoever. We considered making this a new layout but the requirements are quite different from layouts so decided it is better as a special case. Each current layout cell is saved, a temporary one-cell layout generated and all except the active pane set to NULL. Prompted by suggestions and scripts from several. Thanks to Aaron Jensen and Thiago Padilha for testing an earlier version.
* Add a command queue to standardize and simplify commands that call othernicm2013-03-241-73/+12
| | | | | | | | | | | | | | | | | | | | | | commands and allow a command to block execution of subsequent commands. This allows run-shell and if-shell to be synchronous which has been much requested. Each client has a default command queue and commands are consumed one at a time from it. A command may suspend execution from the queue by returning CMD_RETURN_WAIT and then resume it by calling cmd_continue() - for example run-shell does this from the callback that is fired after the job is freed. When the command queue becomes empty, command clients are automatically exited (unless attaching). A callback is also fired - this is used for nested commands in, for example, if-shell which can block execution of the client's cmdq until a new cmdq becomes empty. Also merge all the old error/info/print functions together and lose the old curclient/cmdclient distinction - a cmdq is bound to one client (or none if in the configuration file), this is a command client if c->session is NULL otherwise an attached client.
* Handle focus events from the terminal, from Aaron Jensen.nicm2013-03-241-7/+17
|
* Do pane resize ioctls once at the end of the server loop rather thannicm2013-03-241-2/+34
| | | | immediately.
* Add support for focus notifications when tmux pane changes, based onnicm2013-03-241-3/+47
| | | | work by Aaron Jensen.
* Need to set clients in context before changing their reference count.nicm2013-03-221-3/+2
|
* Remove unnecessary initializers of cmd_ctx.nicm2013-03-221-3/+1
|
* Add functions to allocate and free command contexts rather than doing itnicm2013-03-221-12/+15
| | | | all on the stack.