aboutsummaryrefslogtreecommitdiff
path: root/cmd-string.c
Commit message (Collapse)AuthorAge
* Add support for custom command aliases, this is an array option whichnicm2017-01-24
| | | | | contains items of the form "alias=command". This is consulted when an unknown command is parsed.
* Revert WIP parts of previous I didn't mean to commit yet.nicm2017-01-16
|
* getopt() has a struct option so just return to using options_entry.nicm2017-01-16
|
* It is silly for cmd_list_parse to return an integer error when it couldnicm2017-01-15
| | | | just return NULL.
* Add CMD_AFTERHOOK flag to the easy commands that don't need any special ↵nicm2016-10-14
| | | | handling.
* 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
|
* Like options, move the environ struct into environ.c.nicm2015-10-28
|
* Add xreallocarray and remove nmemb argument from xrealloc.nicm2014-10-08
|
* Make tilde expansion in command strings work even if it isn't terminated by /.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.
* Simplify command string parsing with a helper function from Tiago Cunha.Nicholas Marriott2012-12-06
|
* xfree is not particularly helpful, remove it. From Thomas Adam.Nicholas Marriott2012-07-10
|
* Read ${X} environment variables in strings and $HOME from the globalNicholas Marriott2010-12-13
| | | | | environment rather than getenv, this allows them to be updated during the configuration file.
* have_arg matches buf so it is no longer necessary, spotted by Tim van derNicholas Marriott2010-02-19
| | | | Molen.
* Remove unnecessary comparison, pointed out by Tiago Cunha.Nicholas Marriott2010-01-31
|
* Massive spaces->tabs and trailing whitespace cleanup, hopefully for the lastNicholas Marriott2009-12-03
| | | | | time now I've configured emacs to make them displayed in really annoying colours...
* Get a u_char from the string, otherwise it isn't possible to enter \0377 as itNicholas Marriott2009-11-26
| | | | | | is mistaken for EOF (doh). Also drop an unused argument.
* Use home from struct passwd if HOME is empty as well as if it is NULL, and fixNicholas Marriott2009-11-21
| | | | a style nit. Both from Tiago Cunha.
* I made a complete horlicks of the last change, fix it so it doesn't either leadNicholas Marriott2009-11-16
| | | | to a double free or free the item after the end of the array.
* Rewrite a confusing loop when freeing the arg array on exit and move the checkNicholas Marriott2009-11-11
| | | | | | | for argv being NULL, prompted by parfait via deraadt. Also fix some definite brokenness when assigning multiple environment variables in arguments (such as "X=1 Y=2").
* tabs are better; ok nicmTheo Deraadt2009-10-26
|
* Infrastructure and commands to manage the environment for processes startedNicholas Marriott2009-08-08
| | | | | | | | | | | | | | | within tmux. There is a global environment, copied from the external environment when the server is started and each sesssion has an (initially empty) session environment which overrides it. New commands set-environment and show-environment manipulate or display the environments. A new session option, update-environment, is a space-separated list of variables which are updated from the external environment into the session environment every time a new session is created - the default is DISPLAY.
* Add a terminal-overrides session option allowing individual terminfo(5) entriesNicholas Marriott2009-08-03
| | | | | | | | to be overridden. The 88col/256col checks are now moved into the default setting and out of the code. Also remove a couple of old workarounds for xterm and rxvt which are no longer necessary (tmux can emulate them if missing).
* Expand leading tildes in arguments, from Tiage Cunha.Nicholas Marriott2009-07-13
|
* Fix two memory leaks when assigning shell variables in configurationNicholas Marriott2009-07-08
| | | | file/command prompt. From Tiago Cunha.
* strdup the input to putenv to avoid in one case passing a string that is laterNicholas Marriott2009-06-05
| | | | | | freed and in the other const strings. looks sane to millert, ok ray
* Import tmux, a terminal multiplexor allowing (among other things) a singleNicholas Marriott2009-06-01
terminal to be switched between several different windows and programs displayed on one terminal be detached from one terminal and moved to another. ok deraadt pirofti