mirror of
https://github.com/tmux/tmux.git
synced 2024-11-04 18:08:48 +00:00
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
This commit is contained in:
parent
d377a68593
commit
fdd1d0b72e
7
cmd.c
7
cmd.c
@ -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);
|
||||
|
5
tmux.1
5
tmux.1
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user