nicm
bf35441608
Do not run any command line command from the client which starts the
...
server until after the configuration file completes. This prevents it
racing against run-shell or if-shell in .tmux.conf that run in the
background.
2013-10-20 17:28:43 +00:00
Nicholas Marriott
ebd9c615c8
Add some additional debug logging.
2013-03-25 10:06:13 +00:00
Nicholas Marriott
20636d956d
Add a command queue to standardize and simplify commands that call other
...
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.
2013-03-24 09:54:10 +00:00
Nicholas Marriott
2243cfbe75
Need to set clients in context before changing their reference count.
2013-03-22 15:54:29 +00:00
Nicholas Marriott
0ff9275ad7
load_cfg can actually use the same context now they are reference counted.
2013-03-22 15:50:13 +00:00
Nicholas Marriott
8c545bbfa8
Don't try to print unterminated strings when loading configuration file.
2013-03-22 10:41:57 +00:00
Nicholas Marriott
8d59b189cc
No more lint means no more ARGSUSED.
2013-03-22 10:31:22 +00:00
Nicholas Marriott
51ac2a3202
Fix a couple of memory leaks, from Romain Francoise.
2013-03-21 16:54:37 +00:00
Nicholas Marriott
9714880283
Change load_cfg to fix a crash reported by jasper.
2012-12-13 15:36:16 +00:00
Nicholas Marriott
8600fe054b
Use strlcat not strncat in load_cfg and some other trivial tidying from
...
Tiago Cunha.
2012-12-06 13:06:05 +00:00
Nicholas Marriott
8264e92b37
Fix return value of load_cfg, from Thomas Adam.
2012-11-27 22:59:34 +00:00
Nicholas Marriott
9b8998aeec
Correctly aggregate together errors from nested config files (with
...
source-file). Fix by Thomas Adam, reported by Sam Livingstone-Gray
2012-11-27 16:12:29 +00:00
Nicholas Marriott
827b311c81
Use a utility function for common code to show errors in config file,
...
from Thomas Adam.
2012-11-19 10:38:06 +00:00
Nicholas Marriott
ede8312d59
Make command exec functions return an enum rather than -1/0/1 values and
...
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.
2012-07-11 07:10:15 +00:00
Nicholas Marriott
df912e3540
xfree is not particularly helpful, remove it. From Thomas Adam.
2012-07-10 11:53:01 +00:00
Nicholas Marriott
ac7e2f13e9
Ignore line continuation when escaped as \\, from Simon Nicolussi.
2012-05-17 21:21:31 +00:00
Nicholas Marriott
0588168a64
Support \ for line continuation in the configuration file, from Julius
...
Plenz.
2011-08-24 10:46:01 +00:00
Nicholas Marriott
230e39ec35
Allow the config file parser and source-file to return "don't exit" to
...
the client to let attach work from configuration files.
2010-12-29 21:28:32 +00:00
Nicholas Marriott
608eef731a
Fix an out-of-date comment.
2010-05-25 19:47:30 +00:00
Nicholas Marriott
4651180503
Use the array.h code for the causes list.
2010-02-06 23:22:27 +00:00
Nicholas Marriott
8aba77b7be
Instead of bailing out on the first configuration file error, carry on,
...
collecting all the errors, then start with the active window in more mode
displaying them.
2010-02-06 17:15:33 +00:00
Nicholas Marriott
4ca857e0e9
Remove a couple of unused arguments where possible, and add /* ARGSUSED */ to
...
the rest to reduce lint output.
2009-11-26 21:37:13 +00:00
Theo Deraadt
ed62d1263c
tabs are better; ok nicm
2009-10-26 21:42:04 +00:00
Nicholas Marriott
c7394ac4e0
When using source-file, run the commands in the context of the source-file
...
command rather than with no context. This makes things like attach work from a
file.
2009-08-23 17:29:51 +00:00
Nicholas Marriott
43cd40e87a
The cursession member in struct cmd_ctx is always either curclient->session or
...
NULL when curclient is also NULL, so just eliminate it.
2009-08-23 16:45:00 +00:00
Nicholas Marriott
b3107d26df
Don't leak in the (rare) case of an invalid command at the end of a file not
...
terminated by a \n.
2009-08-09 08:34:17 +00:00
Nicholas Marriott
61f3fc7e4d
Don't babysit people and let them try to load /dev/zero or (more useful)
...
/dev/null if they want.
2009-07-30 17:46:12 +00:00
Nicholas Marriott
9144d30848
Unused prototypes. Found by lint, no binary change.
2009-06-25 06:00:45 +00:00
Nicholas Marriott
35876eaab9
Import tmux, a terminal multiplexor allowing (among other things) a single
...
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
2009-06-01 22:58:49 +00:00