diff --git a/calmwm.c b/calmwm.c index 25df3b8..03d594b 100644 --- a/calmwm.c +++ b/calmwm.c @@ -42,7 +42,6 @@ Atom cwmh[CWMH_NITEMS]; Atom ewmh[EWMH_NITEMS]; struct screen_q Screenq = TAILQ_HEAD_INITIALIZER(Screenq); struct conf Conf; -const char *homedir; volatile sig_atomic_t cwm_status; static void sighdlr(int); @@ -82,16 +81,16 @@ main(int argc, char **argv) if (signal(SIGCHLD, sighdlr) == SIG_ERR) err(1, "signal"); - if ((homedir = getenv("HOME")) == NULL || *homedir == '\0') { + if ((Conf.homedir = getenv("HOME")) == NULL || Conf.homedir[0] == '\0') { pw = getpwuid(getuid()); if (pw != NULL && pw->pw_dir != NULL && *pw->pw_dir != '\0') - homedir = pw->pw_dir; + Conf.homedir = pw->pw_dir; else - homedir = "/"; + Conf.homedir = "/"; } if (conf_file == NULL) - xasprintf(&conf_path, "%s/%s", homedir, CONFFILE); + xasprintf(&conf_path, "%s/%s", Conf.homedir, CONFFILE); else conf_path = xstrdup(conf_file); diff --git a/calmwm.h b/calmwm.h index 473784e..d43a9bd 100644 --- a/calmwm.h +++ b/calmwm.h @@ -293,6 +293,7 @@ struct conf { Cursor cursor[CF_NITEMS]; int xrandr; int xrandr_event_base; + char *homedir; char *wm_argv; }; @@ -374,7 +375,6 @@ extern Atom cwmh[CWMH_NITEMS]; extern Atom ewmh[EWMH_NITEMS]; extern struct screen_q Screenq; extern struct conf Conf; -extern const char *homedir; __dead void usage(void); diff --git a/conf.c b/conf.c index 2022527..02ae7c8 100644 --- a/conf.c +++ b/conf.c @@ -297,7 +297,7 @@ conf_init(struct conf *c) conf_cmd_add(c, "term", "xterm"); (void)snprintf(c->known_hosts, sizeof(c->known_hosts), "%s/%s", - homedir, ".ssh/known_hosts"); + c->homedir, ".ssh/known_hosts"); c->font = xstrdup("sans-serif:pixelsize=14:bold"); c->wmname = xstrdup("CWM");