diff options
author | nicm <nicm> | 2019-02-16 11:42:08 +0000 |
---|---|---|
committer | nicm <nicm> | 2019-02-16 11:42:08 +0000 |
commit | 82f0c859a2bcdfac79d242793b7720b74d62d04b (patch) | |
tree | 7deb3ba396767e0b720e3a7a7f7f6f419607b0b7 | |
parent | f9c396db41927cd57d7c868c1b8c173cdce95b26 (diff) | |
download | rtmux-82f0c859a2bcdfac79d242793b7720b74d62d04b.tar.gz rtmux-82f0c859a2bcdfac79d242793b7720b74d62d04b.tar.bz2 rtmux-82f0c859a2bcdfac79d242793b7720b74d62d04b.zip |
Use starting client cwd in config file, GitHub issue 1606.
-rw-r--r-- | cfg.c | 3 | ||||
-rw-r--r-- | server-client.c | 2 | ||||
-rw-r--r-- | tmux.h | 1 |
3 files changed, 5 insertions, 1 deletions
@@ -38,6 +38,7 @@ struct cfg_cond { }; TAILQ_HEAD(cfg_conds, cfg_cond); +struct client *cfg_client; static char *cfg_file; int cfg_finished; static char **cfg_causes; @@ -95,7 +96,7 @@ start_cfg(void) * command queue is currently empty and our callback will be at the * front - we need to get in before MSG_COMMAND. */ - c = TAILQ_FIRST(&clients); + cfg_client = c = TAILQ_FIRST(&clients); if (c != NULL) { cfg_item = cmdq_get_callback(cfg_client_done, NULL); cmdq_append(c, cfg_item); diff --git a/server-client.c b/server-client.c index 0e105d7c..bf69a981 100644 --- a/server-client.c +++ b/server-client.c @@ -1982,6 +1982,8 @@ server_client_get_cwd(struct client *c, struct session *s) { const char *home; + if (!cfg_finished && cfg_client != NULL) + return (cfg_client->cwd); if (c != NULL && c->session == NULL && c->cwd != NULL) return (c->cwd); if (s != NULL && s->cwd != NULL) @@ -1527,6 +1527,7 @@ void proc_toggle_log(struct tmuxproc *); /* cfg.c */ extern int cfg_finished; +extern struct client *cfg_client; void start_cfg(void); int load_cfg(const char *, struct client *, struct cmdq_item *, int); void set_cfg_file(const char *); |