aboutsummaryrefslogtreecommitdiff
path: root/cmd-pipe-pane.c
Commit message (Collapse)AuthorAge
* Merge branch 'obsd-master'Thomas Adam2019-03-18
|\
| * Store the time in the format tree rather than passing it around.nicm2019-03-14
| |
* | Merge branch 'obsd-master'Thomas Adam2019-03-14
|\|
| * Accept 0 time as a shorthand for now to format_expand_time.nicm2019-03-14
| |
* | Merge branch 'obsd-master'Thomas Adam2018-11-30
|\|
| * Clear PANE_EXITED flag when starting new child process in case the panenicm2018-11-30
| | | | | | | | has been respawned.
* | Merge branch 'obsd-master'Thomas Adam2018-11-19
|\|
| * evbuffer_new and bufferevent_new can both fail (when malloc fails) andnicm2018-11-19
| | | | | | | | return NULL. GitHub issue 1547.
* | Merge branch 'obsd-master'Thomas Adam2018-01-17
|\|
| * Add -I to pipe-pane to connect pane stdin as well as stdout, suggestednicm2018-01-16
| | | | | | | | by Kristof Kovacs in GitHub issue 1186.
* | Merge branch 'obsd-master'Thomas Adam2017-07-14
|\|
| * Because ignore SIGCHLD early, letting signal_del restore it doesn't worknicm2017-07-14
| | | | | | | | | | correctly, so set it explicitly back to default (and the others for good measure).
* | Merge branch 'obsd-master'Thomas Adam2017-07-12
|\| | | | | | | | | | | | | | | Conflicts: cmd-pipe-pane.c proc.c tmux.c window.c
| * Block signals between forking and clearing signal handlers (or callingnicm2017-07-12
| | | | | | | | | | | | event_reinit) - if the child gets a signal and fires the libevent signal handler during this period it could write a signal into the parent's signal pipe. GitHub issue 1001 from Aaron van Geffen.
| * Move signal code into proc.c.nicm2017-07-12
| |
* | Merge branch 'obsd-master'Thomas Adam2017-07-03
|\|
| * Do not close panes until process has exited and any outstanding datanicm2017-07-03
| | | | | | | | has been written to the pipe-pane event if there is one. GitHub issue 991.
* | Merge branch 'obsd-master'Thomas Adam2017-05-01
|\|
| * In order that people can use formats like #D in #() in the status linenicm2017-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | and not have to wait for an update when they change pane, we allow commands to run more than once a second if the expanded form changes. Unfortunately this can mean them being run far too often (pretty much continually) when multiple clients exist, because some formats (including #D) will always differ between clients. To avoid this, give each client its own tree of jobs which means that the same command will be different instances for each client - similar to how we have the tag to separate commands for different panes. GitHub issue 889; test case reported by Paul Johnson.
* | Merge branch 'obsd-master'Thomas Adam2017-04-22
|\|
| * Get rid of the extra layer of flags and cmd_prepare() and just store thenicm2017-04-22
| | | | | | | | | | | | CMD_FIND_* flags in the cmd_entry and call it for the command. Commands with special requirements call it themselves and update the target for hooks to use.
* | Merge branch 'obsd-master'Thomas Adam2017-02-03
|\|
| * Add a window or pane id "tag" to each format tree and use it to separatenicm2017-02-03
| | | | | | | | | | | | jobs, this means that if the same job is used for different windows or panes (for example in pane-border-format), it will be run separately for each pane.
* | Merge branch 'obsd-master'Thomas Adam2016-10-16
|\|
| * Mass rename struct cmd_q to struct cmdq_item and related.nicm2016-10-16
| |
* | Merge branch 'obsd-master'Thomas Adam2016-10-15
|\|
| * Add CMD_AFTERHOOK flag to the easy commands that don't need any special ↵nicm2016-10-14
| | | | | | | | handling.
* | Merge branch 'obsd-master'Thomas Adam2016-10-12
|\| | | | | | | | | | | Conflicts: format.c osdep-openbsd.c
| * Add static in cmd-* and fix a few other nits.nicm2016-10-10
| |
* | Merge branch 'obsd-master'Thomas Adam2016-01-19
|\|
| * I no longer use my SourceForge address so replace it.nicm2016-01-19
| |
* | Merge branch 'obsd-master'Thomas Adam2015-12-14
|\|
| * Instead of combined flags for -c, -s, -t, split into different setsnicm2015-12-14
| | | | | | | | using an enum and simplify the parsing code.
* | Merge branch 'obsd-master'Thomas Adam2015-12-13
|\|
| * Use member names in cmd_entry definitions so I stop getting confusednicm2015-12-13
| | | | | | | | about the order.
* | Merge branch 'obsd-master'Thomas Adam2015-12-13
|\|
| * Instead of every command resolving the target (-t or -s) itself, preparenicm2015-12-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the state (client, session, winlink, pane) for it it before entering the command. Each command provides some flags that tell the prepare step what it is expecting. This is a requirement for having hooks on commands (for example, if you hook "select-window -t1:2", the hook command should to operate on window 1:2 not whatever it thinks is the current window), and should allow some other target improvements. The old cmd_find_* functions remain for the moment but that layer will be dropped later. Joint work with Thomas Adam.
* | Merge branch 'obsd-master'Thomas Adam2015-12-11
|\|
| * Add cmdq as an argument to format_create and add a format for thenicm2015-12-11
| | | | | | | | command name (will also be used for more later).
* | Merge branch 'obsd-master'Thomas Adam2015-12-08
|\|
| * Remove format_create_flags and just pass flags to format_create.nicm2015-12-08
| |
* | Merge branch 'obsd-master'Thomas Adam2015-11-18
|\|
| * Use __unused rather than rolling our own.nicm2015-11-18
| |
* | No paths.h on Solaris.Nicholas Marriott2015-02-06
|/
* Add format_expand_time and use it instead of status_replace wherenicm2015-02-06
| | | | command execution is not needed.
* Remove two unused arguments from status_replace.nicm2015-02-01
|
* Instead of setting up the default keys by building the key structnicm2014-10-20
| | | | | | | | | directly with a helper function in the cmd_entry, include a table of bind-key commands and pass them through the command parser and a temporary cmd_q. As well as being smaller, this will allow default bindings to be command sequences which will probably be needed soon.
* Remove the barely-used and unnecessary command check() function.nicm2013-10-10
|
* 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.
* Fix error reporting for client commands by adding a flag toNicholas Marriott2013-03-24
| | | | | cmd_find_client to tell it whether or not to show errors, sometimes it's needed and sometimes not.