diff options
-rw-r--r-- | cmd.c | 7 | ||||
-rw-r--r-- | tmux.1 | 5 |
2 files changed, 12 insertions, 0 deletions
@@ -1221,11 +1221,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); @@ -1845,6 +1845,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 |