diff --git a/main.c b/main.c index c1abe5bc..26a8f300 100644 --- a/main.c +++ b/main.c @@ -174,7 +174,7 @@ main(int argc, char *const *argv) if ((wayl = wayl_init(fdm)) == NULL) goto out; - if (!as_server && (term = term_init(&conf, fdm, wayl, argc, argv, + if (!as_server && (term = term_init(&conf, fdm, wayl, conf.term, argc, argv, &term_shutdown_cb, &shutdown_ctx)) == NULL) goto out; diff --git a/server.c b/server.c index ae6d678e..f48ed262 100644 --- a/server.c +++ b/server.c @@ -117,8 +117,8 @@ fdm_client(struct fdm *fdm, int fd, int events, void *data) assert(client->term == NULL); client->term = term_init( - server->conf, server->fdm, server->wayl, client->argc, client->argv, - &term_shutdown_handler, client); + server->conf, server->fdm, server->wayl, server->conf->term, + client->argc, client->argv, &term_shutdown_handler, client); if (client->term == NULL) { LOG_ERR("failed to instantiate new terminal"); diff --git a/terminal.c b/terminal.c index d6aaf4ff..f71d90a6 100644 --- a/terminal.c +++ b/terminal.c @@ -289,7 +289,7 @@ initialize_fonts(struct terminal *term, const struct config *conf) struct terminal * term_init(const struct config *conf, struct fdm *fdm, struct wayland *wayl, - int argc, char *const *argv, + const char *term_env, int argc, char *const *argv, void (*shutdown_cb)(void *data, int exit_code), void *shutdown_data) { int ptmx = -1; @@ -428,7 +428,7 @@ term_init(const struct config *conf, struct fdm *fdm, struct wayland *wayl, LOG_INFO("cell width=%d, height=%d", term->cell_width, term->cell_height); /* Start the slave/client */ - if ((term->slave = slave_spawn(term->ptmx, argc, argv, conf->term, conf->shell)) == -1) + if ((term->slave = slave_spawn(term->ptmx, argc, argv, term_env, conf->shell)) == -1) goto err; /* Initiailze the Wayland window backend */ diff --git a/terminal.h b/terminal.h index 3ec2802c..11571519 100644 --- a/terminal.h +++ b/terminal.h @@ -296,7 +296,7 @@ struct terminal { struct config; struct terminal *term_init( const struct config *conf, struct fdm *fdm, struct wayland *wayl, - int argc, char *const *argv, + const char *term_env, int argc, char *const *argv, void (*shutdown_cb)(void *data, int exit_code), void *shutdown_data); bool term_shutdown(struct terminal *term);