Sync OpenBSD patchset 993:

Allow $HOME as default-path in tmux.conf so the same config file can be used
on different machines regardless of where the user's home directory is.
ok nicm
pull/1/head
Tiago Cunha 2011-12-30 14:21:02 +00:00
parent 2ca1849350
commit e2d59a6c17
2 changed files with 12 additions and 0 deletions

7
cmd.c
View File

@ -1220,11 +1220,18 @@ cmd_get_default_path(struct cmd_ctx *ctx)
char *cwd;
struct session *s;
struct window_pane *wp;
struct environ_entry *envent;
if ((s = cmd_current_session(ctx, 0)) == NULL)
return (NULL);
cwd = options_get_string(&s->options, "default-path");
if ((cwd[0] == '~' && cwd[1] == '\0') || !strcmp(cwd, "$HOME")) {
envent = environ_find(&global_environ, "HOME");
if (envent != NULL && *envent->value != '\0')
return envent->value;
cwd = "";
}
if (*cwd == '\0') {
if (ctx->cmdclient != NULL && ctx->cmdclient->cwd != NULL)
return (ctx->cmdclient->cwd);

5
tmux.1
View File

@ -1849,6 +1849,11 @@ Set the default working directory for new panes.
If empty (the default), the working directory is determined from the process
running in the active pane, from the command line environment or from the
working directory where the session was created.
If
.Ar path
is "$HOME" or "~", the value of the
.Ev HOME
environment variable is used.
.It Ic default-shell Ar path
Specify the default shell.
This is used as the login shell for new windows when the