summaryrefslogtreecommitdiffstats
path: root/server-client.c
AgeCommit message (Collapse)Author
2014-10-02Update status when pane selected with mouse, from Balazs Kezes.nicm
2014-09-01Various minor style and spacing nits.nicm
2014-08-09Remove support for the continuous reporting "any" mouse mode which nevernicm
really worked properly and is rarely used.
2014-07-13An EOF is a good reason to close a connection.krw
ok nicm@
2014-07-13If a client is killed while suspended with ^Z so has gone through thenicm
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.
2014-04-16Because we pass the file descriptor from client to server, tmux can'tnicm
usefully work if stdin is /dev/tty. Complain about it more clearly.
2014-02-23Change terminal-overrides to a server option (now that we have them), itnicm
doesn't make much sense as a session option.
2014-02-17Be consistent and allow only mouse down and mouse wheel for any panenicm
with mouse-select-pane rather than just in copy mode, reported by Balazs Kezes.
2014-02-14Make status-interval of zero work as indented.nicm
2014-02-14Style nit - no space between function name and bracket.nicm
2014-01-31Break up and simplify screen_redraw_screen.nicm
2013-11-13from nicm: : handle msgbuf_write() returning EAGAINbenno
2013-10-20Do not run any command line command from the client which starts thenicm
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.
2013-10-11Don't leak file descriptors in the rare MSG_VERSION case. From Chrisnicm
Johnsen.
2013-10-10We accidentally haven't been using $TMUX to work out the session for anicm
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.
2013-10-10Don't look at string[length - 1] if length == 0.nicm
2013-10-10Alter how tmux handles the working directory to internally use filenicm
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.
2013-10-10Similarly for MSG_COMMAND - allow full imsg limit not arbitrary 2048.nicm
2013-10-10Allow the file descriptor received from the client to be -1.nicm
2013-06-23Focus events can cause trouble if left on and they can't be turned offNicholas Marriott
during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
2013-04-21Don't let server_client_check_focus use a dead bufferevent, from RomainNicholas Marriott
Francoise.
2013-04-10Remove some code not needed on OpenBSD.Nicholas Marriott
2013-03-27Remove tmux's (already minimal) 88 colour support. Such terminals areNicholas Marriott
few and unnecessary.
2013-03-25Sort includes and fix spaces.Nicholas Marriott
2013-03-25Use single stdout and stderr for control clients.Nicholas Marriott
2013-03-25Send DSC 1000p at the beginning of a -CC client's lifetime and ST andNicholas Marriott
the end, from George Nachman.
2013-03-24Add resize-pane -Z to temporary zoom the active pane to occupy the fullNicholas Marriott
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.
2013-03-24Add a command queue to standardize and simplify commands that call otherNicholas Marriott
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.
2013-03-24Handle focus events from the terminal, from Aaron Jensen.Nicholas Marriott
2013-03-22Need to set clients in context before changing their reference count.Nicholas Marriott
2013-03-22Remove unnecessary initializers of cmd_ctx.Nicholas Marriott
2013-03-22No more lint means no more ARGSUSED.Nicholas Marriott
2013-03-21Add various checks to turn off bits that can't work in control modeNicholas Marriott
(such as lock).
2013-03-21Add a format client_prefix which is 1 if prefix key has beenNicholas Marriott
pressed, used for example #{?client_prefix,X,Y}. Also a few extra server_client_status needed.
2013-01-30Unused variable/type nit from Thomas Adam.Nicholas Marriott
2013-01-18Style nits - return (x) not return x.Nicholas Marriott
2013-01-15If timing between keys is less than (by default) 1 millisecond, assumeNicholas Marriott
the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
2012-10-26Make mouse event structure clearer by defining events (up, click, drag)Nicholas Marriott
and simplifying how buttons and wheels are represented, from Ailin Nemui. Should be no functional changes.
2012-09-27Do not leak file descriptor if not a tty, reported by Sebastien Marie.Nicholas Marriott
2012-09-03Send notifications to control clients. Also don't redraw client whenNicholas Marriott
suspended.
2012-07-11Make command exec functions return an enum rather than -1/0/1 values andNicholas Marriott
add a new value to mean "leave client running but don't attach" to fix problems with using some commands in a command sequence. Most of the work by Thomas Adam, problem reported by "jspenguin" on SF bug 3535531.
2012-07-10xfree is not particularly helpful, remove it. From Thomas Adam.Nicholas Marriott
2012-06-20Remove a couple of unused variables from redbrain at gcc dot gnu dot org.Nicholas Marriott
2012-06-18Add a skeleton mode to tmux (called "control mode") that let's tmuxNicholas Marriott
commands be sent and output received on stdout. This can be used to integrate with other terminal emulators and should allow some other things to be made simpler later. More to come so doesn't do much yet and deliberately not documented.
2012-05-22Store client in tty struct directly instead of using a callback functionNicholas Marriott
pointer.
2012-05-21Instead of passing stdin/stdout/stderr file descriptors over imsg andNicholas Marriott
handling them in the server, handle them in the client and pass buffers over imsg. This is much tidier for some upcoming changes and the performance hit isn't critical. The tty fd is still passed to the server as before. This bumps the tmux protocol version so new clients and old servers are incompatible.
2012-05-06Add a helper function to open the terminal for attach-/new-session.Nicholas Marriott
2012-04-11Stop accepting new clients for 1 second on EMFILE/ENFILE. Based onNicholas Marriott
ongoing fixes to other daemons by Theo.
2012-03-17Need to call recalculate_sizes() when changing window with the mouse,Nicholas Marriott
from marcel partap.
2012-03-17Check event_initialized before event_del if event may not have been setNicholas Marriott
up; libevent2 complains about this. Reported by Moriyoshi Koizumi.