aboutsummaryrefslogtreecommitdiff
path: root/control.c
Commit message (Collapse)AuthorAge
* Merge branch 'obsd-master'Thomas2013-03-26
|\
| * Fix compiler warnings, missing #include. From Thomas Adam.Nicholas Marriott2013-03-26
| |
| * Add time and a command count to control mode guards, based on code fromNicholas Marriott2013-03-25
| | | | | | | | George Nachman.
| * 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.
| * 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
| |
* | Add time and a command count to control mode guards, based on code from GeorgeNicholas Marriott2013-03-11
| | | | | | | | Nachman.
* | 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.
* | 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.
* | Merge branch 'obsd-master'Thomas Adam2012-09-24
|\| | | | | | | | | | | | | | | Conflicts: cmd.c format.c osdep-openbsd.c tmux.h
| * Add control_write_buffer, from George Nachman.Nicholas Marriott2012-09-24
| |
| * Send notifications to control clients. Also don't redraw client whenNicholas Marriott2012-09-03
| | | | | | | | suspended.
| * xfree is not particularly helpful, remove it. From Thomas Adam.Nicholas Marriott2012-07-10
| |
| * 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.
* Send notifications to control clients. Also don't redraw client whenNicholas Marriott2012-09-04
| | | | suspended.
* Sync OpenBSD patchset 1150:Tiago Cunha2012-07-11
| | | | | xfree is not particularly helpful, remove it. From Thomas Adam.
* Sync OpenBSD patchset 1138:Tiago Cunha2012-06-18
Add a skeleton mode to tmux (called "control mode") that let's tmux 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.