aboutsummaryrefslogtreecommitdiff
path: root/cmd-respawn-pane.c
Commit message (Collapse)AuthorAge
* Replace %% in command lists (by copying them) for template arguments ,nicm2021-08-27
| | | | | this means they can be used with {} as well. Also make argument processing from an existing vector preserve commands. GitHub issue 2858.
* Rename a member to match what it will be in future.nicm2021-08-21
|
* Add args parsing callback for some future work, currently unused.nicm2021-08-21
|
* Hide struct args behind a couple of accessor functions.nicm2021-08-20
|
* Expose args_value struct (will be needed soon) and add some missing frees.nicm2021-08-20
|
* Drop having a separate type for style options and make them all strings,nicm2020-05-16
| | | | | | | | | | | | | | | | | which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later. To make this work, a few other changes: - set-option -a with a style option automatically appends a ",". - OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style. - status-fg and -bg now override status-style instead of trying to keep them in sync.
* Also move cmdq_item and cmdq_list into cmd-queue.c (this is to make itsnicm2020-04-13
| | | | use more clearly defined and preparation for some future work).
* Make struct cmd local to cmd.c and move it out of tmux.h.nicm2020-04-13
|
* Add a way to mark environment variables as "hidden" so they can be usednicm2020-03-31
| | | | by tmux but are not passed into the environment of new panes.
* Support multiple occurances of the same argument. Use this for a newnicm2019-04-28
| | | | | | flag -e to new-window, split-window, respawn-window, respawn-pane to pass environment variables into the newly created process. From Steffen Christgau in GitHub issue 1697.
* Break new window and pane creation common code from various commands andnicm2019-04-17
| | | | window.c into a separate file spawn.c.
* Allow multiple modes to be open in a pane. A stack of open modes is keptnicm2019-03-12
| | | | | | and the previous restored when the top is exited. If a mode that is already on the stack is entered, the existing instance is moved to the top as the active mode rather than being opened new.
* Add -c for respawn-pane and respawn-window, from J Raynor.nicm2017-07-21
|
* Do not update TERM into config file parsing has finished.nicm2017-04-25
|
* 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.
* Move server_fill_environ into environ.c and move some other common codenicm2017-03-09
| | | | into it.
* Mass rename struct cmd_q to struct cmdq_item and related.nicm2016-10-16
|
* Add static in cmd-* and fix a few other nits.nicm2016-10-10
|
* I no longer use my SourceForge address so replace it.nicm2016-01-19
|
* Instead of combined flags for -c, -s, -t, split into different setsnicm2015-12-14
| | | | using an enum and simplify the parsing code.
* Use member names in cmd_entry definitions so I stop getting confusednicm2015-12-13
| | | | about the order.
* 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.
* Because pledge(2) does not allow us to pass directory file descriptorsnicm2015-10-31
| | | | | | | | | around, we can't use file descriptors for the working directory because we will be unable to pass it to a privileged process to tell it where to read or write files or spawn children. So move tmux back to using strings for the current working directory. We try to check it exists with access() when it is set but ultimately fall back to ~ if it fails at time of use (or / if that fails too).
* Like options, move the environ struct into environ.c.nicm2015-10-28
|
* Fix some format specifier nits, from Ben Boeckel.nicm2015-03-31
|
* Missed a couple of cmd_entry struct members from previous.nicm2014-10-20
|
* If multiple arguments are given to new-session, new-window,nicm2014-05-13
| | | | | | split-window, respawn-window or respawn-pane, pass them directly to execvp() to help avoid quoting problems. One argument still goes to "sh -c" like before. Requested by many over the years. Patch from J Raynor.
* Set PATH explicitly, either from client or sessionnicm2014-04-17
| | | | | environment. Previously it came from the session environment. From J Raynor.
* Pass -1 for cwd now not NULL.nicm2013-10-10
|
* 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.
* 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
|
* $Id$ -> $OpenBSD$.Nicholas Marriott2012-03-17
|
* Make window_pane_index work the same as window_index, from Ben Boeckel.Nicholas Marriott2011-11-15
|
* Unused variable.Nicholas Marriott2011-07-09
|
* Use screen_reinit for respawn-pane to keep history and call input_initNicholas Marriott2011-07-04
| | | | for respawn-window to break out of waiting for DCS/OSC to finish.
* Add a respawn-pane command, from Marcel Partap.Nicholas Marriott2011-06-05