mirror of
https://github.com/tmux/tmux.git
synced 2024-12-25 02:48:47 +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;
|
char *cwd;
|
||||||
struct session *s;
|
struct session *s;
|
||||||
struct window_pane *wp;
|
struct window_pane *wp;
|
||||||
|
struct environ_entry *envent;
|
||||||
|
|
||||||
if ((s = cmd_current_session(ctx, 0)) == NULL)
|
if ((s = cmd_current_session(ctx, 0)) == NULL)
|
||||||
return (NULL);
|
return (NULL);
|
||||||
|
|
||||||
cwd = options_get_string(&s->options, "default-path");
|
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 (*cwd == '\0') {
|
||||||
if (ctx->cmdclient != NULL && ctx->cmdclient->cwd != NULL)
|
if (ctx->cmdclient != NULL && ctx->cmdclient->cwd != NULL)
|
||||||
return (ctx->cmdclient->cwd);
|
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
|
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
|
running in the active pane, from the command line environment or from the
|
||||||
working directory where the session was created.
|
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
|
.It Ic default-shell Ar path
|
||||||
Specify the default shell.
|
Specify the default shell.
|
||||||
This is used as the login shell for new windows when the
|
This is used as the login shell for new windows when the
|
||||||
|
Loading…
Reference in New Issue
Block a user