Provide defined ways to set the various default-path possibilities: ~

for home directory, . for server start directory, - for session start
directory and empty for the pane's working directory (the default). All
can also be used as part of a relative path (eg -/foo). Also provide -c
flags to neww and splitw to override default-path setting.

Based on a diff from sthen. ok sthen
This commit is contained in:
Nicholas Marriott
2012-01-31 15:52:21 +00:00
parent 49a5a587ec
commit 908a22e41c
5 changed files with 88 additions and 26 deletions

View File

@ -30,8 +30,9 @@ int cmd_new_window_exec(struct cmd *, struct cmd_ctx *);
const struct cmd_entry cmd_new_window_entry = {
"new-window", "neww",
"adkn:Pt:", 0, 1,
"[-adk] [-n window-name] [-t target-window] [command]",
"ac:dkn:Pt:", 0, 1,
"[-adk] [-c start-directory] [-n window-name] [-t target-window] "
"[command]",
0,
NULL,
NULL,
@ -99,7 +100,7 @@ cmd_new_window_exec(struct cmd *self, struct cmd_ctx *ctx)
cmd = options_get_string(&s->options, "default-command");
else
cmd = args->argv[0];
cwd = cmd_get_default_path(ctx);
cwd = cmd_get_default_path(ctx, args_get(args, 'c'));
if (idx == -1)
idx = -1 - options_get_number(&s->options, "base-index");