diff options
author | Nicholas Marriott <nicm@openbsd.org> | 2011-01-23 11:03:43 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@openbsd.org> | 2011-01-23 11:03:43 +0000 |
commit | b8023044c35f3099e67793e3573e9e001a43b1fe (patch) | |
tree | 2b08003a9370566d0fd6b32be7a1f02b96caf1a2 /server-fn.c | |
parent | 1377427e708f23275c40a7b86d999bf6f8dd4a94 (diff) | |
download | rtmux-b8023044c35f3099e67793e3573e9e001a43b1fe.tar.gz rtmux-b8023044c35f3099e67793e3573e9e001a43b1fe.tar.bz2 rtmux-b8023044c35f3099e67793e3573e9e001a43b1fe.zip |
Set $TMUX without the session when background jobs are run.
Diffstat (limited to 'server-fn.c')
-rw-r--r-- | server-fn.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/server-fn.c b/server-fn.c index 7064c1ed..002d56ac 100644 --- a/server-fn.c +++ b/server-fn.c @@ -30,14 +30,20 @@ void server_callback_identify(int, short, void *); void server_fill_environ(struct session *s, struct environ *env) { - char tmuxvar[MAXPATHLEN], *term; - - xsnprintf(tmuxvar, sizeof tmuxvar, - "%s,%ld,%u", socket_path, (long) getpid(), s->idx); - environ_set(env, "TMUX", tmuxvar); - - term = options_get_string(&s->options, "default-terminal"); - environ_set(env, "TERM", term); + char var[MAXPATHLEN], *term; + u_int idx; + long pid; + + if (s != NULL) { + term = options_get_string(&s->options, "default-terminal"); + environ_set(env, "TERM", term); + + idx = s->idx; + } else + idx = -1; + pid = getpid(); + xsnprintf(var, sizeof var, "%s,%ld,%d", socket_path, pid, idx); + environ_set(env, "TMUX", var); } void |