aboutsummaryrefslogtreecommitdiff
path: root/server-client.c
Commit message (Collapse)AuthorAge
* Merge branch 'obsd-master'Thomas Adam2013-04-23
|\ | | | | | | Sync from OpenBSD.
| * Don't let server_client_check_focus use a dead bufferevent, from RomainNicholas Marriott2013-04-21
| | | | | | | | Francoise.
* | Merge branch 'obsd-master'Thomas Adam2013-04-13
|\| | | | | | | | | Conflicts: tmux.c
| * Remove some code not needed on OpenBSD.Nicholas Marriott2013-04-10
| |
| * Remove tmux's (already minimal) 88 colour support. Such terminals areNicholas Marriott2013-03-27
| | | | | | | | few and unnecessary.
| * Sort includes and fix spaces.Nicholas Marriott2013-03-25
| |
| * Use single stdout and stderr for control clients.Nicholas Marriott2013-03-25
| |
| * Send DSC 1000p at the beginning of a -CC client's lifetime and ST andNicholas Marriott2013-03-25
| | | | | | | | the end, from George Nachman.
| * Add resize-pane -Z to temporary zoom the active pane to occupy the fullNicholas Marriott2013-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 otherNicholas Marriott2013-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.Nicholas Marriott2013-03-24
| |
| * Need to set clients in context before changing their reference count.Nicholas Marriott2013-03-22
| |
| * Remove unnecessary initializers of cmd_ctx.Nicholas Marriott2013-03-22
| |
| * No more lint means no more ARGSUSED.Nicholas Marriott2013-03-22
| |
| * Add various checks to turn off bits that can't work in control modeNicholas Marriott2013-03-21
| | | | | | | | (such as lock).
| * Add a format client_prefix which is 1 if prefix key has beenNicholas Marriott2013-03-21
| | | | | | | | | | pressed, used for example #{?client_prefix,X,Y}. Also a few extra server_client_status needed.
* | Need errno.h, reported by Swaroop M S.Nicholas Marriott2013-04-10
| |
* | Use single stdout and stderr for control clients.Nicholas Marriott2013-03-11
| |
* | Send DSC 1000p at the beginning of a -CC client's lifetime and ST and the end,Nicholas Marriott2013-03-04
| | | | | | | | from George Nachman..
* | Add resize-pane -Z to temporary zoom the active pane to occupy the full windowNicholas Marriott2013-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | 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 otherNicholas Marriott2013-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.Nicholas Marriott2013-02-23
| |
* | Do pane resize ioctls once at the end of the server loop rather thanNicholas Marriott2013-02-22
| | | | | | | | immediately.
* | Add support for focus notifications when tmux pane changes, based on work byNicholas Marriott2013-02-22
| | | | | | | | Aaron Jensen.
* | Need to set clients in context before changing their reference count.Nicholas Marriott2013-02-20
| |
* | Remove unnecessary initializers of cmd_ctx.Nicholas Marriott2013-02-18
| |
* | Add functions to allocate and free command contexts rather than doing it all onNicholas Marriott2013-02-18
| | | | | | | | the stack.
* | No more lint means no more ARGSUSED.Nicholas Marriott2013-02-17
| |
* | Add various checks to turn off bits that can't work in control mode (such asNicholas Marriott2013-02-17
| | | | | | | | lock).
* | Add a format client_prefix which is 1 if prefix key has been pressed, used forNicholas Marriott2013-02-10
| | | | | | | | example #{?client_prefix,X,Y}. Also a few extra server_client_status needed.
* | Merge branch 'obsd-master'Thomas Adam2013-02-07
|\|
| * Unused variable/type nit from Thomas Adam.Nicholas Marriott2013-01-30
| |
* | Merge branch 'obsd-master'Thomas Adam2013-01-30
|\| | | | | | | | | | | Conflicts: Makefile grid-utf8.c
| * Style nits - return (x) not return x.Nicholas Marriott2013-01-18
| |
* | Merge branch 'obsd-master'Thomas Adam2013-01-17
|\|
| * If timing between keys is less than (by default) 1 millisecond, assumeNicholas Marriott2013-01-15
| | | | | | | | | | the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
* | Merge branch 'obsd-master'Thomas Adam2012-10-26
|\| | | | | | | Sync from OpenBSD.
| * Make mouse event structure clearer by defining events (up, click, drag)Nicholas Marriott2012-10-26
| | | | | | | | | | and simplifying how buttons and wheels are represented, from Ailin Nemui. Should be no functional changes.
* | Merge branch 'obsd-master'Thomas2012-09-27
|\| | | | | | | | | | | | | Sync from OpenBSD. * obsd-master: Do not leak file descriptor if not a tty, reported by Sebastien Marie.
| * Do not leak file descriptor if not a tty, reported by Sebastien Marie.Nicholas Marriott2012-09-27
| |
| * Send notifications to control clients. Also don't redraw client whenNicholas Marriott2012-09-03
| | | | | | | | suspended.
| * Make command exec functions return an enum rather than -1/0/1 values andNicholas Marriott2012-07-11
| | | | | | | | | | | | 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.
| * xfree is not particularly helpful, remove it. From Thomas Adam.Nicholas Marriott2012-07-10
| |
| * Remove a couple of unused variables from redbrain at gcc dot gnu dot org.Nicholas Marriott2012-06-20
| |
| * Add a skeleton mode to tmux (called "control mode") that let's tmuxNicholas Marriott2012-06-18
| | | | | | | | | | | | | | 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.
| * Store client in tty struct directly instead of using a callback functionNicholas Marriott2012-05-22
| | | | | | | | pointer.
| * Instead of passing stdin/stdout/stderr file descriptors over imsg andNicholas Marriott2012-05-21
| | | | | | | | | | | | | | | | | | | | | | 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.
| * Add a helper function to open the terminal for attach-/new-session.Nicholas Marriott2012-05-06
| |
| * Stop accepting new clients for 1 second on EMFILE/ENFILE. Based onNicholas Marriott2012-04-11
| | | | | | | | ongoing fixes to other daemons by Theo.
| * Need to call recalculate_sizes() when changing window with the mouse,Nicholas Marriott2012-03-17
| | | | | | | | from marcel partap.